Skip to content

Latest commit

 

History

History
73 lines (60 loc) · 2.21 KB

File metadata and controls

73 lines (60 loc) · 2.21 KB

clear

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

概要

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

効果

状態値をstateにする。 ただし、rdbuf()がヌルポインタであれば、さらにios_base::badbitをビットORした値にする。

例外

変更後の状態値のビットとexceptions()で設定した値でビットごとのANDを行って非0になれば、ios_base::failure型の例外を送出する。

送出する例外オブジェクトの構築方法は、以下のように規定されている。

実装例

void clear(iostate state = goodbit) {
  iostate newstate = rdbuf() != 0
    ? 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

参照