Spec-Zone.ru › C++

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);.

Возвращает итератор, следующий за концом диапазона вывода.

См. также

formatter
(C++20)
определяет правила форматирования для данного типа
(шаблон класса)
range_formatter
(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API