std::basic_osyncstream
提供: cppreference.com
| ヘッダ <syncstream> で定義
|
||
| template< class CharT, |
(C++20以上) | |
クラステンプレート std::basic_osyncstream は std::basic_syncbuf のための便利なラッパーです。 同じストリームに書き込む複数のスレッドを同期する仕組みを提供します。
名前付きの変数で使用することができます。
また、一時オブジェクトで使用することもできます。
std::osyncstream(std::cout) << "Hello, " << "World!" << '\n';
最終宛先バッファへのすべての書き込みが std::basic_osyncstream のインスタンス (異なるインスタンスでも構いません) を通して行われる限り、同じ最終宛先バッファ (上の例では std::cout) に行われるすべての出力が、データ競合を起こさず、インターリーブまたは文字化けしないことが保証されます。
一般的な std::basic_osyncstream の実装はひとつのメンバ、ラップされた std::basic_syncbuf のみを保持します。
一般的な文字型に対して2つの特殊化が定義されます。
| ヘッダ
<syncstream> で定義 | |
| 型 | 定義 |
osyncstream
|
basic_osyncstream<char> |
wosyncstream
|
basic_osyncstream<wchar_t> |
目次 |
[編集] メンバ型
| メンバ型 | 定義 |
char_type
|
CharT |
traits_type
|
Traits。 Traits::char_type が CharT でない場合、プログラムは ill-formed です
|
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
allocator_type
|
Allocator |
streambuf_type
|
std::basic_streambuf<CharT, Traits> |
syncbuf_type
|
std::basic_syncbuf<CharT, Traits, Allocator> |
[編集] メンバ関数
| basic_osyncstream を構築します (パブリックメンバ関数) | |
| basic_osyncstream を代入します (パブリックメンバ関数) | |
| basic_osyncstream を破棄し、その内部バッファを排出します (パブリックメンバ関数) | |
| ベースとなる basic_syncbuf へのポインタを取得します (パブリックメンバ関数) | |
| 最終宛先ストリームバッファへのポインタを取得します (パブリックメンバ関数) | |
| 内部データを最終宛先に転送するためにベースとなる basic_syncbuf に対して emit を呼びます (パブリックメンバ関数) |
std::basic_ostream から継承
メンバ関数
書式付き出力 | |
| 書式付きデータを挿入します ( std::basic_ostream<CharT,Traits>のパブリックメンバ関数)
| |
書式なし出力 | |
| 文字を挿入します ( std::basic_ostream<CharT,Traits>のパブリックメンバ関数)
| |
| 文字のブロックを挿入します ( std::basic_ostream<CharT,Traits>のパブリックメンバ関数)
| |
位置設定 | |
| 出力位置指示子を返します ( std::basic_ostream<CharT,Traits>のパブリックメンバ関数)
| |
| 出力位置指示子を設定します ( std::basic_ostream<CharT,Traits>のパブリックメンバ関数)
| |
その他 | |
| ベースとなるストレージデバイスと同期します ( std::basic_ostream<CharT,Traits>のパブリックメンバ関数)
| |
メンバクラス
| 出力操作用にストリームを準備するための基本ロジックを実装します ( std::basic_ostream<CharT,Traits>のパブリックメンバクラス)
|
std::basic_ios から継承
メンバ型
| メンバ型 | 定義 |
char_type
|
CharT |
traits_type
|
Traits |
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
メンバ関数
状態関数 | |
| エラーが発生していない (すなわち入出力操作が使用可能) かどうか調べます ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| ファイル終端に達したかどうか調べます ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| エラーが発生したかどうか調べます ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| 回復不可能なエラーが発生したかどうか調べます ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| エラーが発生したかどうか調べます (fail() の同義語です) ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| (C++11未満)(C++11以上) |
エラーが発生していないかどうか調べます (!fail() の同義語です) ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
|
| 状態フラグを返します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| 状態フラグを設定します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| 状態フラグを変更します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
書式 | |
| 書式情報をコピーします ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| フィル文字を管理します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
その他 | |
| 例外マスクを管理します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| ロケールを設定します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| 紐付けられているストリームバッファを管理します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| 結び付けられているストリームを管理します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| 文字をナロー化します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
| 文字をワイド化します ( std::basic_ios<CharT,Traits>のパブリックメンバ関数)
| |
std::ios_base から継承
メンバ関数
書式 | |
| 書式フラグを管理します ( std::ios_baseのパブリックメンバ関数)
| |
| 特定の書式フラグをセットします ( std::ios_baseのパブリックメンバ関数)
| |
| 特定の書式フラグをクリアします ( std::ios_baseのパブリックメンバ関数)
| |
| 浮動小数点操作の10進精度を管理します ( std::ios_baseのパブリックメンバ関数)
| |
| フィールド幅を管理します ( std::ios_baseのパブリックメンバ関数)
| |
ロケール | |
| ロケールを設定します ( std::ios_baseのパブリックメンバ関数)
| |
| 現在のロケールを返します ( std::ios_baseのパブリックメンバ関数)
| |
内部の拡張可能な配列 | |
| [静的] |
pword() および iword() へのインデックスとして使用するのに安全な、プログラム全体で一意な整数を返します ( std::ios_baseのパブリック静的メンバ関数)
|
| 必要であればプライベートな記憶域をリサイズし、指定されたインデックスの long 要素にアクセスします ( std::ios_baseのパブリックメンバ関数)
| |
| 必要であればプライベートな記憶域をリサイズし、指定されたインデックスの void* 要素にアクセスします ( std::ios_baseのパブリックメンバ関数)
| |
その他 | |
| イベントのコールバック関数を登録します ( std::ios_baseのパブリックメンバ関数)
| |
| [静的] |
C++ と C の入出力ライブラリが相互運用可能であるかどうかを設定します ( std::ios_baseのパブリック静的メンバ関数)
|
メンバクラス | |
| ストリームの例外 ( std::ios_baseのパブリックメンバクラス)
| |
| 標準ストリームオブジェクトを初期化します ( std::ios_baseのパブリックメンバクラス)
| |
メンバ型および定数 | |||||||||||||||||||||||||||||||||||||||
| 型 | 説明 | ||||||||||||||||||||||||||||||||||||||
| ストリームのオープンモードの型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 書式フラグの型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
| ストリーム状態の型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
| シーク方向の型
以下の定数が定義されます。
(typedef) | |||||||||||||||||||||||||||||||||||||||
| イベントの種類を規定します (列挙) | |||||||||||||||||||||||||||||||||||||||
| コールバック関数の型 (typedef) | |||||||||||||||||||||||||||||||||||||||

