23 template<
class... args_t>
24 requires format_acceptable_args_c<char, args_t...>
25 cstring format(
const QX_FMT_NS::format_string<std::type_identity_t<args_t>...> sFormat, args_t&&... args)
28 cstring_view(sFormat.get().data(), sFormat.get().size()),
29 std::forward<args_t>(args)...);
39 template<
class... args_t>
40 requires format_acceptable_args_c<wchar_t, args_t...>
41 wstring format(
const QX_FMT_NS::wformat_string<std::type_identity_t<args_t>...> sFormat, args_t&&... args)
44 wstring_view(sFormat.get().data(), sFormat.get().size()),
45 std::forward<args_t>(args)...);
56 template<
class T,
class char_t =
char_type,
class traits_t =
string_traits::traits<
char_t>>
requires static format_acceptable_args_c< char_t, args_t... > basic_string static_vformat(string_view svFormat, args_t &&... args)
Create a string by formatting it with the format string and the args.
requires static format_acceptable_args_c< char_t, args_t... > basic_string static_format(const format_string_type< std::type_identity_t< args_t >... > sFormat, args_t &&... args)
Create a string by formatting it with the format string and the args.
requires(same_variadic_args_v< args_t... >) const expr auto coalesce(args_t &&... args)
Coalesce function, C# a ?? b analogue.
#define QX_STR_PREFIX(value_t, str)
Chose witch of prefixes add to string : L or none.