- 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
- 状態値の書き込み
setstate
clear
(この関数)
- 状態値の読み取り
- 例外マスクの取得・設定