22.14 Formatting [format]
編集22.14.1 Header <format> synopsis [format.syn]
編集このセクションでは、<format>
ヘッダーに含まれる主要なクラスと関数について概説します。
基本クラステンプレートと型エイリアス
編集basic_format_context
- 書式設定のコンテキストを表すクラステンプレート。
using format_context = basic_format_context<unspecified, char>
:char
型のフォーマットコンテキスト。using wformat_context = basic_format_context<unspecified, wchar_t>
:wchar_t
型のフォーマットコンテキスト。basic_format_args
- 書式設定引数を格納するクラステンプレート。
using format_args = basic_format_args<format_context>
:format_context
用のフォーマット引数。using wformat_args = basic_format_args<wformat_context>
:wformat_context
用のフォーマット引数。basic_format_string
- 書式文字列を格納するクラステンプレート。
using format_string = basic_format_string<char, type_identity_t<Args>...>
:char
型のフォーマット文字列。using wformat_string = basic_format_string<wchar_t, type_identity_t<Args>...>
:wchar_t
型のフォーマット文字列。
書式設定関数
編集format
- 可変引数テンプレート関数で、指定されたフォーマット文字列に基づいて文字列をフォーマットします。
template<class... Args> string format(format_string<Args...> fmt, Args&&... args)
- 標準的な
char
文字列をフォーマット。 template<class... Args> wstring format(wformat_string<Args...> fmt, Args&&... args)
- ワイド文字(
wchar_t
)文字列をフォーマット。 - ロケール指定版も存在します。
vformat
- フォーマット引数を個別に渡す代わりに、
format_args
を用いる関数。string vformat(string_view fmt, format_args args)
- 標準的な
char
文字列をフォーマット。 wstring vformat(wstring_view fmt, wformat_args args)
- ワイド文字(
wchar_t
)文字列をフォーマット。 - ロケール指定版も存在します。
format_to
- 出力イテレータを使用してフォーマット結果を書き込む関数。
template<class Out, class... Args> Out format_to(Out out, format_string<Args...> fmt, Args&&... args)
- 標準的な
char
文字列をフォーマットして出力イテレータに書き込み。 template<class Out, class... Args> Out format_to(Out out, wformat_string<Args...> fmt, Args&&... args)
- ワイド文字(
wchar_t
)文字列をフォーマットして出力イテレータに書き込み。 - ロケール指定版も存在します。
vformat_to
- フォーマット引数を個別に渡す代わりに、
format_args
を用いる関数。template<class Out> Out vformat_to(Out out, string_view fmt, format_args args)
- 標準的な
char
文字列をフォーマットして出力イテレータに書き込み。 template<class Out> Out vformat_to(Out out, wstring_view fmt, wformat_args args)
- ワイド文字(
wchar_t
)文字列をフォーマットして出力イテレータに書き込み。 - ロケール指定版も存在します。
format_to_n
- 出力イテレータに対して指定された最大数の文字をフォーマットする関数。
template<class Out, class... Args> format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n, format_string<Args...> fmt, Args&&... args)
- 標準的な
char
文字列をフォーマット。 template<class Out, class... Args> format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n, wformat_string<Args...> fmt, Args&&... args)
- ワイド文字(
wchar_t
)文字列をフォーマット。 - ロケール指定版も存在します。
formatted_size
- フォーマットされた文字列のサイズを返す関数。
template<class... Args> size_t formatted_size(format_string<Args...> fmt, Args&&... args)
- 標準的な
char
文字列のサイズ。 template<class... Args> size_t formatted_size(wformat_string<Args...> fmt, Args&&... args)
- ワイド文字(
wchar_t
)文字列のサイズ。 - ロケール指定版も存在します。
その他のテンプレートとコンセプト
編集formatter
- 任意の型
T
の書式設定方法を指定するテンプレート。 formattable
コンセプト- 型
T
が書式設定可能かを判断するためのコンセプト。 basic_format_parse_context
- フォーマット文字列の解析コンテキスト。
using format_parse_context = basic_format_parse_context<char>
- 標準的な
char
の解析コンテキスト。 using wformat_parse_context = basic_format_parse_context<wchar_t>
- ワイド文字(
wchar_t
)の解析コンテキスト。
範囲の書式設定
編集range_formatter
- 範囲(コンテナ)の書式設定を行うためのテンプレート。
range-default-formatter
- 範囲のデフォルトの書式設定方法を提供するテンプレート。
引数管理
編集basic_format_arg
- 単一のフォーマット引数を格納するクラステンプレート。
format-arg-store
- 複数のフォーマット引数を格納するクラステンプレート。
make_format_args
- フォーマット引数を生成するための関数。
例外
編集format_error
- フォーマット中に発生するエラーを表す例外クラス。
このヘッダーは、文字列のフォーマットを行うための強力で柔軟なツールセットを提供し、シンプルな文字列から複雑なデータ構造までを扱うことができます。