C++/標準ライブラリ/format
表示
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- フォーマット中に発生するエラーを表す例外クラス。
このヘッダーは、文字列のフォーマットを行うための強力で柔軟なツールセットを提供し、シンプルな文字列から複雑なデータ構造までを扱うことができます。