Namespaces
Variants

std:: basic_format_context

From cppreference.net
定義済みヘッダー <format>
template < class OutputIt, class CharT >
class basic_format_context ;
(1) (C++20以降)
using format_context = basic_format_context < /* 未規定 */ , char > ;
(2) (C++20以降)
using wformat_context = basic_format_context < /* 未規定 */ , wchar_t > ;
(3) (C++20以降)

書式設定引数と出力イテレータからなる書式設定状態へのアクセスを提供します。

2) 未指定のテンプレート引数は、 std::string に追加を行う出力イテレータであり、例えば std:: back_insert_iterator < std:: string > のようなものです。実装では通常、任意の連続的でサイズ変更可能なコンテナへの追加をサポートする型消去されたバッファ型へのイテレータを使用します。
3) 未指定のテンプレート引数は、 std::wstring に追加する出力イテレータです。

OutputIt std:: output_iterator < const CharT & > をモデルとしない場合、動作は未定義です。

std::basic_format_context の明示的特殊化または部分特殊化を宣言するプログラムは、診断なしに不適格である。

std::basic_format_context オブジェクトは実装によってのみ作成できます。ユーザーコードは std::formatter 特殊化の format 関数を通じてのみフォーマットコンテキストを変更することが許可されています。

目次

メンバー型

定義
iterator OutputIt
char_type CharT

メンバーエイリアステンプレート

定義
formatter_type < T > std:: formatter < T, CharT >

メンバー関数

(constructor)
[deleted]
basic_format_context はユーザーコードで構築できません
(public member function)
operator=
[deleted]
basic_format_context は代入できません
(public member function)
arg
指定されたインデックスの引数を返します
(public member function)
locale
ロケール固有のフォーマットに使用されるロケールを返します
(public member function)
out
出力バッファへのイテレータを返します
(public member function)
advance_to
出力イテレータを指定された位置まで進めます
(public member function)

std::basic_format_context:: arg

std:: basic_format_arg < basic_format_context > arg ( std:: size_t id ) const ;

args 内の id 番目の引数を保持する std::basic_format_arg を返します。ここで args は、書式設定関数に渡されたパラメータパックまたは std::basic_format_args オブジェクトです。

id が書式設定引数の数以上の場合、デフォルト構築された std::basic_format_arg std::monostate オブジェクトを保持する)を返します。

std::basic_format_context:: locale

std:: locale locale ( ) ;

書式設定関数に渡されたロケールを返します。書式設定関数がロケールを受け取らない場合は、デフォルト構築された std::locale を返します。

std::basic_format_context:: out

iterator out ( ) ;

出力バッファへのイテレータを返します。結果は格納されているイテレータからムーブ構築されます。

std::basic_format_context:: advance_to

void advance_to ( iterator it ) ;

格納されている出力イテレータに it をムーブ代入します。 advance_to の呼び出し後、次に out() を呼び出すと、代入前の it の値を持つイテレータが返されます。

欠陥報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 修正後の動作
LWG 3567 C++20 basic_format_context はmove-onlyイテレータ型で動作しなかった イテレータをmoveするように変更
LWG 3975 C++20 basic_format_context のユーザー特殊化が許可されていた 許可しないように変更
LWG 4061 C++20 basic_format_context がユーザーコードによる構築と代入を許可していた 構築も代入もできないように変更