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 ) -> 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 -> FormatContext::iterator;

Если ranges::input_range<const R> является true, тип r — constR&. В противном случае тип — 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/cpp/utility/format/ranges_formatter/range_default_formatter_string

Spec-Zone.ru

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