最終更新日時:
が更新

履歴 編集

class
<ostream>

std::basic_ostream::sentry

namespace std {
  template<class CharT, class Traits = char_traits<CharT>>
  class basic_ostream<CharT, Traits>::sentry {
  public:
    explicit sentry(basic_ostream<CharT, Traits>& os);
    ~sentry();
    explicit operator bool() const;

    sentry(const sentry&) = delete;
    sentry& operator=(const setnry&) = delete;
  };
}

概要

basic_ostream<>::sentry は、出力処理共通の前処理・後処理を実行するためのクラスである。 前処理・後処理がそれぞれコンストラクタ・デストラクタ内部で実行される。

書式化出力関数・非書式化出力関数は、内部で必ず sentry オブジェクトを構築・破棄する。

operator bool() 関数は、コンストラクタでの処理が成功していれば true、さもなくば false を返す。

なお、C++標準規格では、規格で要求している処理のほかに、追加の処理を行っても良いとされている。

メンバ

名前 説明 対応バージョン
(constructor) コンストラクタ
(destructor) デストラクタ
operator bool 変換関数

参照