17# if __has_include(<format>)
32template<
typename TChar>
34 : formatter<std::basic_string_view<TChar>, TChar> {
44 template<
typename TContext>
47 return formatter<std::basic_string_view<TChar>, TChar>
::format(
48 static_cast<std::basic_string_view<TChar>
>(str), ctx);
60template<
typename TChar>
62 : formatter<std::basic_string_view<TChar>, TChar> {
72 template<
typename TContext>
75 return formatter<std::basic_string_view<TChar>, TChar>
::format(
76 static_cast<std::basic_string_view<TChar>
>(str), ctx);
88template<
typename TChar,
typename TAllocator>
90 : formatter<std::basic_string_view<TChar>, TChar> {
98 template<
typename TContext>
100 return formatter<std::basic_string_view<TChar>, TChar>
::format(
101 static_cast<std::basic_string_view<TChar>
>(str), ctx);
113template<
typename TChar>
115 : formatter<std::basic_string_view<TChar>, TChar> {
125 template<
typename TContext>
128 return formatter<std::basic_string_view<TChar>, TChar>
::format(
129 static_cast<std::basic_string_view<TChar>
>(str), ctx);
141template<
typename TChar, alib::
integer TCapacity,
typename TAllocator>
143 : formatter<std::basic_string_view<TChar>, TChar> {
152 template<
typename TContext>
154 TContext& ctx )
const {
156 return formatter<std::basic_string_view<TChar>, TChar>
::format(
157 static_cast<std::basic_string_view<TChar>
>(str), ctx);
190template<
typename TAppendable>
201template<
typename TAppendable>
210# if __has_include(<format>)
231template <
typename TAppendable,
typename TChar>
233struct formatter<
alib::strings::Appendable<TAppendable>, TChar>
234 : formatter<std::basic_string_view<TChar>, TChar> {
241 template <
typename FormatContext>
242 auto format(
const alib::strings::Appendable<TAppendable>& wrapper,
243 FormatContext& ctx)
const {
245 buf.
Append(wrapper.appendable);
247 return formatter<std::basic_string_view<TChar>, TChar>
::format(
248 static_cast<std::basic_string_view<TChar>
>(buf), ctx);
295template<
typename TChar,
typename... TArgs>
308 ,
arguments(std::make_tuple(std::forward<TArgs>(args)...)) {}
315template<
typename TChar,
typename... TArgs>
320template<
typename TAllocator,
typename... Args>
327 std::back_insert_iterator<TAString<char, TAllocator>> it(target);
329 #if __has_include(<format>)
330 namespace f_temp=std;
332 namespace f_temp=fmt;
336 std::apply( [&](
auto&&... a) {
337 f_temp::vformat_to(it, fmtpackage.
format,
338 f_temp::make_format_args(
static_cast<const decltype(a)&
>(a)...));
346template<
typename TAllocator,
typename... Args>
353 std::back_insert_iterator<TAString<wchar_t, TAllocator>> it(target);
356 std::apply( [&](
auto&&... a) {
358 vformat_to(it, fmtpackage.
format,
359 make_wformat_args(
static_cast<const decltype(a)&
>(a)...));
371 template<
typename... Args>
375 template<
typename... Args>
379 template<
typename... Args>
383 template<
typename TAppendable>
TAString & Append(const TCharSrc *src, integer srcLength)
strings::TStdFormat< wchar_t, Args... > WStdFormat
Type alias in namespace #"%alib".
strings::TStdFormat< character, Args... > StdFormat
Type alias in namespace #"%alib".
strings::TStdFormat< char, Args... > NStdFormat
Type alias in namespace #"%alib".
characters::character character
Type alias in namespace #"%alib".
strings::Appendable< TAppendable > Appendable
Type alias in namespace #"%alib".
Appendable(const TAppendable &pAppendable)
const TAppendable & appendable
A reference to the wrapped appendable.