C++ именованные требования: Formatter (с C++20)
Formatter — это тип, абстрагирующий операции форматирования для заданного типа аргумента форматирования и типа символа. Специализации std::formatter, предоставляемые стандартной библиотекой, должны удовлетворять требованиям Formatter, за исключением случаев, оговоренных отдельно.
Тип Formatter может форматировать как константные, так и неконстантные аргументы, обычно предоставляя функцию-член format, которая принимает константную ссылку.
Требования
Тип удовлетворяет требованиям Formatter, если удовлетворяет BasicFormatter и заданы
-
Arg, тип аргумента форматирования -
CharT, тип символа -
Formatter, тип Formatter для типовArgиCharT -
OutputIt, тип LegacyOutputIterator -
f, значение типа (возможно, константного)Formatter -
g, значение типаFormatter -
arg, lvalue типаArg -
t, значение, преобразуемое в (возможно, константный) типArg -
ParseContext, псевдоним типаstd::basic_format_parse_context<CharT> -
FormatContext, псевдоним типаstd::basic_format_context<OutputIt, CharT> -
parse_ctx, lvalue типаParseContext -
format_ctx, lvalue типаFormatContext
| Выражение | Тип возвращаемого значения | Семантика |
|---|---|---|
f.format(t, format_ctx) | FormatContext::iterator |
|
f.format(arg, format_ctx) | FormatContext::iterator | Как выше, но не изменяет |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/Formatter