std::range-default-formatter<std::range_format::string>, std::range-default-formatter<std::range_format::debug_string>
Определено в заголовке <format> | ||
|---|---|---|
template< std::range_format K, ranges::input_range R, class CharT >
requires (K == std::range_format::string || K == std::range_format::debug_string)
struct range-default-formatter<K, R, CharT>;
| (с C++23) (только для примера*) |
Шаблон класса range-default-formatter для типов диапазонов специализирован для форматирования диапазона как строки или экранированной строки, если std::format_kind<R> является либо std::range_format::string, либо std::range_format::debug_string.
Члены-объекты
| Название члена | Определение |
|---|---|
underlying_ (приватный) | базовый форматировщик типа std::formatter<std::basic_string<CharT>, CharT>(только для примера*) |
Члены-функции
| (конструктор)
(неявное объявление) | создаёт range-default-formatter (публичная функция-член) |
| parse | анализирует спецификатор формата, как указано в std-format-spec (публичная функция-член) |
| format | записывает отформатированный вывод, как указано в std-format-spec (публичная функция-член) |
std::range-default-formatter<std::range_format::string>::parse
std::range-default-formatter<std::range_format::debug_string>::parse
template< class ParseContext > constexpr auto parse( ParseContext& ctx ) -> typename ParseContext::iterator; |
Эквивалентно: auto i = underlying_.parse(ctx);if constexpr (K == std::range_format::debug_string) underlying_.set_debug_format();return i;
Возвращает итератор, следующий за концом std-format-spec.
std::range-default-formatter<std::range_format::string>::format
std::range-default-formatter<std::range_format::debug_string>::format
template< class FormatContext >
auto format( /* see below */& r, FormatContext& ctx ) const
-> typename FormatContext::iterator;
|
Если ranges::input_range<const R> равно true, тип r равен const R&. В противном случае, тип равен R&.
Пусть s будет std::basic_string<CharT>, как если бы s было построено с std::basic_string<CharT>(std::from_range, r), так что ranges::equal(s, r) равно true.
Эквивалентно return underlying_.format(s, ctx);.
Возвращает итератор, следующий за концом диапазона вывода.
См. также
|
(C++20) | определяет правила форматирования для данного типа (шаблон класса) |
|
(C++23) | шаблон класса, который помогает в реализации специализаций std::formatter для типов диапазонов (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/ranges_formatter/range_default_formatter_string