std:: basic_osyncstream
|
定義済みヘッダー
<syncstream>
|
||
|
template
<
class
CharT,
|
(C++20以降) | |
クラステンプレート
std::basic_osyncstream
は、
std::basic_syncbuf
の便利なラッパーです。同一ストリームへの書き込みを行うスレッドを同期する仕組みを提供します。
名前付き変数と共に使用できます:
一時オブジェクトと同様に:
std::osyncstream(std::cout) << "Hello, " << "World!" << '\n';
これは、同じ最終宛先バッファ(上記の例では
std::cout
)へのすべての出力が、データ競合から解放され、どのような方法でもインターリーブや破損が発生しないことを保証します。ただし、その最終宛先バッファへのすべての書き込みが(異なる可能性もある)
std::basic_osyncstream
のインスタンスを介して行われる場合に限ります。
std::basic_osyncstream
の典型的な実装は、
ラップされた
std::basic_syncbuf
のみを
メンバとして保持します。
継承図
一般的な文字型に対するいくつかのtypedefが提供されています:
|
定義済みヘッダー
<syncstream>
|
|
| 型 | 定義 |
std::osyncstream
|
std :: basic_osyncstream < char > |
std::wosyncstream
|
std :: basic_osyncstream < wchar_t > |
目次 |
メンバー型
| メンバ型 | 定義 |
char_type
|
CharT
|
traits_type
|
Traits
;
Traits::char_type
が
CharT
でない場合、プログラムは不適格となる。
|
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
オブジェクトを構築する
(public member function) |
|
basic_osyncstream
オブジェクトを代入する
(public member function) |
|
basic_osyncstream
を破棄し、内部バッファを出力する
(public member function) |
|
基盤となる
basic_syncbuf
へのポインタを取得する
(public member function) |
|
|
最終宛先ストリームバッファへのポインタを取得する
(public member function) |
|
基盤となる
basic_syncbuf
で
emit()
を呼び出し、内部データを最終宛先に転送する
(public member function) |
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
|
メンバ関数
状態関数 |
|
|
エラーが発生しておらず、I/O操作が利用可能かチェックする
(
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>
の公開メンバ関数)
|
|
エラーが発生していないかチェックする(
!
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
のpublicメンバ関数)
|
|
|
特定のフォーマットフラグを設定する
(
std::ios_base
のpublicメンバ関数)
|
|
|
特定のフォーマットフラグをクリアする
(
std::ios_base
のpublicメンバ関数)
|
|
|
浮動小数点演算の10進精度を管理する
(
std::ios_base
のpublicメンバ関数)
|
|
|
フィールド幅を管理する
(
std::ios_base
のpublicメンバ関数)
|
|
ロケール |
|
|
ロケールを設定する
(
std::ios_base
のpublicメンバ関数)
|
|
|
現在のロケールを返す
(
std::ios_base
のpublicメンバ関数)
|
|
内部拡張可能配列 |
|
|
[static]
|
pword()
および
iword()
のインデックスとして安全に使用できるプログラム全体で一意な整数を返す
(
std::ios_base
のpublic staticメンバ関数)
|
|
必要に応じてプライベートストレージをリサイズし、指定されたインデックスの
long
要素にアクセスする
(
std::ios_base
のpublicメンバ関数)
|
|
|
必要に応じてプライベートストレージをリサイズし、指定されたインデックスの
void
*
要素にアクセスする
(
std::ios_base
のpublicメンバ関数)
|
|
その他 |
|
|
イベントコールバック関数を登録する
(
std::ios_base
のpublicメンバ関数)
|
|
|
[static]
|
C++とCのI/Oライブラリが相互運用可能かどうかを設定する
(
std::ios_base
のpublic staticメンバ関数)
|
メンバクラス |
|
|
ストリーム例外
(
std::ios_base
のpublicメンバクラス)
|
|
|
標準ストリームオブジェクトを初期化する
(
std::ios_base
のpublicメンバクラス)
|
|
メンバー型と定数 |
|||||||||||||||||||||||||||||||||||||||
| 型 | 説明 | ||||||||||||||||||||||||||||||||||||||
|
ストリームオープンモード型
以下の定数も定義されています:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
書式フラグ型
以下の定数も定義されています:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
ストリームの状態を表す型
以下の定数も定義されています:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
シーク方向の型
以下の定数も定義されています:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
イベント型を指定
(列挙型) |
|||||||||||||||||||||||||||||||||||||||
|
コールバック関数型
(typedef) |
|||||||||||||||||||||||||||||||||||||||
注記
| 機能テスト マクロ | 値 | 標準 | 機能 |
|---|---|---|---|
__cpp_lib_syncbuf
|
201803L
|
(C++20) |
同期化バッファ付きostream (
std::osyncstream
,
std::syncbuf
) とマニピュレータ
|