Namespaces
Variants

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

From cppreference.net
bool emit ( ) ;

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

同じラップされたストリームバッファオブジェクトに文字を転送するすべての emit ( ) 呼び出しは、全順序で実行されるように見え、各 emit ( ) 呼び出しは、その全順序における後続の emit ( ) 呼び出しと synchronizes-with 関係を持つ。これは、これらの呼び出しが異なる std::basic_syncbuf / std::basic_osyncstream のインスタンスを通じて行われた場合でも同様である。実際には、これはemit()がラップされたストリームオブジェクトに一意に関連付けられたロックを取得することを意味する:例えば、ラップされたストリームのアドレスをキーとして使用する静的ハッシュマップに保持される可能性がある。

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

目次

パラメータ

(なし)

戻り値

true 以下のすべてが真である場合:

  • ラップされたストリームが存在する(ラップされたstreambufポインタがnullではない)
  • 一時ストレージからのすべての文字がラップされたストリームへ正常に送信された
  • pubsync() の呼び出し(要求された場合)も正常に完了した

それ以外の場合 false を返します。

注記

通常、所有している std::basic_osyncstream のデストラクタまたはムーブ代入、あるいは std::basic_osyncstream::emit によって呼び出されます。

関連項目

basic_osyncstreamを破棄し、内部バッファを出力する
( std::basic_osyncstream<CharT,Traits,Allocator> の公開メンバ関数)
基盤となる basic_syncbuf emit() を呼び出し、内部データを最終的な宛先に送信する
( std::basic_osyncstream<CharT,Traits,Allocator> の公開メンバ関数)
basic_syncbuf オブジェクトを構築する
(公開メンバ関数)