• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <syncstream>

    std::basic_osyncstream::emit

    void emit();
    

    概要

    格納されている文字データを、ラップされたストリームに転送する。このような転送は、同じストリームを持つ他のオブジェクトによる転送に関してアトミックである。

    効果

    ラップしたストリームバッファのemit()を呼び出す。
    その呼び出しがfalseを返す場合は、setstate(ios::badbit)を呼び出す。

    戻り値

    なし。

    例外

    投げる可能性がある。このメンバ関数は、基礎となるストリームに対する操作からの例外を処理するために使用できる。

    {
      osyncstream bout(cout);
      bout << "Hello, " << "World!" << '\n';
      try {
        bout.emit();
      } catch (...) {
        // 例外を処理する
      }
    }
    

    #include <iostream>
    #include <syncstream>
    #include <utility>
    
    int main()
    {
      osyncstream bout(std::cout);
      bout << "Hello," << '\n';      // フラッシュしない
      bout.emit();                   // 文字は転送される。std::cout はフラッシュしない
      bout << "World!" << std::endl; // フラッシュしない。std::cout はフラッシュしない
      bout.emit();                   // 文字は転送される。std::cout はフラッシュする
      bout << "Greetings." << '\n';  // フラッシュしない
    } // 文字は転送される。std::cout はフラッシュしない
    

    出力

    Hello,
    World!
    Greetings.
    

    バージョン

    言語

    • C++20

    処理系

    参照