Skip to content

Latest commit

 

History

History
69 lines (58 loc) · 2.07 KB

clear.md

File metadata and controls

69 lines (58 loc) · 2.07 KB

clear

  • ios[meta header]
  • std[meta namespace]
  • basic_ios[meta class]
  • function[meta id-type]
void clear(iostate state = goodbit);
  • iostate[link ../ios_base/type-iostate.md]
  • goodbit[link ../ios_base/type-iostate.md]

概要

現在の状態値を消去し、実引数で指定した状態に設定する。

効果

状態値をstateにする。 ただし、rdbuf() == nullptrであれば、さらにios_base::badbitをビットORした値にする。

例外

変更後の状態値のビットとexceptions()で設定した値でビットごとのANDを行って非0になれば、ios_base::failure型の例外を送出する。
その際、ios_base::failureコンストラクタに渡される引数は、処理系定義である。

実装例

void clear(iostate state = goodbit) {
  iostate newstate = rdbuf() != nullptr
    ? state
    : state | badbit;

  // 後でrdstate()から読み取れるよう、ここでbasic_iosのメンバ変数にnewstateを書き込む。

  if ((newstate & exceptions()) != 0) {
    throw failure("basic_ios::clear");
  }
}
  • rdbuf[link rdbuf.md]
  • exceptions[link exceptions.md]
  • basic_ios[link ../basic_ios.md]
  • rdstate[link rdstate.md]
  • iostate[link ../ios_base/type-iostate.md]
  • goodbit[link ../ios_base/type-iostate.md]
  • badbit[link ../ios_base/type-iostate.md]
  • failure[link ../ios_base/failure.md]

戻り値

なし

バージョン

言語

  • C++98

参照