23 template<
class... args_t>
24 requires format_acceptable_args_c<char, args_t...>
27 const QX_FMT_NS::format_string<std::type_identity_t<args_t>...> sFormat,
28 args_t&&... args) noexcept
31 #if QX_CONF_FMT_LIB == QX_FMT_LIB_STD
35 cstring_view(sFormat.get().data(), sFormat.get().size()),
36 std::forward<args_t>(args)...);
48 template<
class... args_t>
49 requires format_acceptable_args_c<wchar_t, args_t...>
52 const QX_FMT_NS::wformat_string<std::type_identity_t<args_t>...> sFormat,
53 args_t&&... args) noexcept
66 template<
class T,
class char_t =
char_type,
class traits_t =
string_traits::default_traits<
char_t>>
requires static format_acceptable_args_c< char, args_t... > basic_string static_format(const format_string_type< std::type_identity_t< args_t >... > sFormat, args_t &&... args) noexcept
Create a string by formatting it with the format string and the args.
requires static format_acceptable_args_c< char, 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(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.