30 Input/output library [input.output]

30.5 Iostreams base classes [iostreams.base]

30.5.5 Class template basic_­ios [ios]

30.5.5.4 basic_­ios flags functions [iostate.flags]

explicit operator bool() const;

Returns: !fail().

bool operator!() const;

Returns: fail().

iostate rdstate() const;

Returns: Состояние ошибки буфера потока.

void clear(iostate state = goodbit);

Postconditions: Если rdbuf() != 0 тогда state == rdstate(); иначе rdstate() == (state | ios_­base​::​badbit).

Effects: Если ((state | (rdbuf() ? goodbit : badbit)) & exceptions()) == 0, вернется. В противном случае функция генерирует объект класса basic_­ios​::​failure, построенный со значениями аргументов, определяемыми реализацией.

void setstate(iostate state);

Effects: Звонки clear(rdstate() | state) (которые могут бросить basic_­ios​::​failure).

bool good() const;

Returns: rdstate() == 0

bool eof() const;

Returns: true если eofbit установлен в rdstate().

bool fail() const;

Returns: true если failbit или badbit установлен в rdstate().297

bool bad() const;

Returns: true если badbit установлен в rdstate().

iostate exceptions() const;

Returns: Маска, определяющая, какие элементы установлены в rdstate() вызове исключения.

void exceptions(iostate except);

Postconditions: except == exceptions().

Effects: Звонки clear(rdstate()).

Проверка badbit также на fail() историческую практику.