Skip to content

Files

78 lines (61 loc) · 1.98 KB

File metadata and controls

78 lines (61 loc) · 1.98 KB

emit

  • syncstream[meta header]
  • function[meta id-type]
  • std[meta namespace]
  • basic_osyncstream[meta class]
  • cpp20[meta cpp]
void emit();

概要

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

効果

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

戻り値

なし。

例外

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

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

#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 はフラッシュしない
  • emit[color ff0000]

出力

Hello,
World!
Greetings.

バージョン

言語

  • C++20

処理系

参照