名前空間
変種
操作

std::basic_syncbuf<CharT,Traits,Allocator>::emit

提供: cppreference.com
< cpp‎ | io‎ | basic syncbuf
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
 
bool emit();

すべての保留中の出力をラップされたストリームにアトミックに転送します。

同じラップされたストリームバッファオブジェクトに文字を転送するすべての emit() の呼び出しは全順序で実行されて見えます。 これらの呼び出しがたとえ std::basic_syncbuf または std::basic_osyncstream の異なるインスタンスを通して行われた場合でも、それぞれの emit() の呼び出しはその全順序における後続の emit() の呼び出しに対して同期します。 実際のところ、これは emit() がラップされたストリームオブジェクトに紐付けられた一意なロックを取ることを意味します。 例えば、ラップされたストリームのアドレスをキーとする static なハッシュマップとしてロックを保持することができます。

emit() の最後の呼び出し以降に sync の呼び出しが行われている場合、ラップされたストリームに対して pubsync() を呼ぶことによってフラッシュも行います。

目次

[編集] 引数

(なし)

[編集] 戻り値

以下がすべて真であれば true

  • ラップされたストリームが存在する (ラップされた streambuf のポインタがヌルでない)
  • 一時記憶域内のすべての文字をラップされたストリームに送るのに成功した
  • 要求された場合は、 pubsync() の呼び出しも成功した

そうでなければ false を返します。

[編集] ノート

通常は所有している std::basic_osyncstream のデストラクタによって、または std::basic_osyncstream::emit によって呼ばれます。

[編集]

[編集] 関連項目

basic_osyncstream を破棄し、その内部バッファを排出します
(std::basic_osyncstream<CharT,Traits,Allocator>のパブリックメンバ関数) [edit]
内部データを最終宛先に転送するためにベースとなる basic_syncbuf に対して emit を呼びます
(std::basic_osyncstream<CharT,Traits,Allocator>のパブリックメンバ関数) [edit]
basic_syncbuf オブジェクトを構築します
(パブリックメンバ関数) [edit]