名前空間
変種
操作

std::formatter<range>

From cppreference.com
< cpp‎ | utility‎ | format
 
 
 
 
 
ヘッダー <format> で定義
template< ranges::input_range R, class CharT >

    requires (std::format_kind<R> != std::range_format::disabled) &&
              std::formattable<ranges::range_reference_t<R>, CharT>

struct formatter<R, CharT>;
(C++23から)
ヘルパーテンプレート
template< std::range_format K, ranges::input_range R, class CharT >
struct /*range-default-formatter*/;
(説明用*)

range の std::formatter のテンプレート特殊化により、ユーザーは range を要素のコレクションまたは文字列としてのテキスト表現に、フォーマット関数を使用して変換できます。

この特殊化は、range-default-formatter<std::format_kind<R>, R, CharT>から派生しています。

この特殊化は、Rinput_range を満たし、std::format_kind<R>std::range_format::disabled でなく、std::formattable<ranges::range_reference_t<R>, CharT>true の場合に有効になります。

この特殊化は、const Rinput_range をモデル化し、ranges::range_reference_t<const R>std::formattable<CharT> をモデル化する場合に、Formatter の要件を満たします。これは常に BasicFormatter の要件を満たします。

目次

[編集] フォーマット指定子

range-format-spec の構文は次のとおりです。

range-fill-and-align (省略可能) width (省略可能) n(省略可能) range-type (省略可能) range-underlying-spec (省略可能)

構文の詳細は、range フォーマット指定子で説明されています。

std::format_kind<R>std::range_format::string または std::range_format::debug_string のいずれかである std::formatter の特殊化では、format-specrange-format-spec の代わりに std-format-spec となります(これは、基盤となるフォーマッタとして std::formatter<std::basic_string<CharT>, CharT> を使用します)。

[編集] range-default-formatter の特殊化

シーケンス形式の range のフォーマットユーティリティ
(クラステンプレート特殊化) [編集]
マップ形式の range のフォーマットユーティリティ
(クラステンプレート特殊化) [編集]
セット形式の range のフォーマットユーティリティ
(クラステンプレート特殊化) [編集]
文字列形式またはエスケープ文字列形式の range のフォーマットユーティリティ
(クラステンプレート特殊化) [編集]

[編集]

[編集] 関連項目

(C++20)
与えられた型のフォーマット規則を定義する
(クラステンプレート) [編集]
範囲型の std::formatter 特殊化の実装を助けるクラステンプレート
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)