[ios.iostate] # 31 Input/output library [[input.output]](./#input.output) ## 31.5 Iostreams base classes [[iostreams.base]](iostreams.base#ios.iostate) ### 31.5.2 Class ios_base [[ios.base]](ios.base#ios.iostate) #### 31.5.2.2 Types [[ios.types]](ios.types#ios.iostate) #### 31.5.2.2.3 Type ios_base​::​iostate [ios.iostate] [🔗](#lib:iostate,ios_base) `using iostate = T2; ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L1039) The typeiostate is a bitmask type ([[bitmask.types]](bitmask.types "16.3.3.3.3 Bitmask types")) that contains the elements indicated in Table [138](#tab:ios.iostate "Table 138: iostate effects")[.](#1.sentence-1) Table [138](#tab:ios.iostate) — iostate effects [[tab:ios.iostate]](./tab:ios.iostate) | [🔗](#tab:ios.iostate-row-1)
**Element** | **Effect(s) if set** | | --- | --- | | [🔗](#tab:ios.iostate-row-2)
badbit | indicates a loss of integrity in an input or output sequence (such as an irrecoverable read error from a file); | | [🔗](#tab:ios.iostate-row-3)
eofbit | indicates that an input operation reached the end of an input sequence; | | [🔗](#tab:ios.iostate-row-4)
failbit | indicates that an input operation failed to read the expected characters, or that an output operation failed to generate the desired characters[.](#tab:ios.iostate-row-4-column-2-sentence-1) | [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L1056) Typeiostate also defines the constant: - [(2.1)](#2.1) goodbit, the value zero[.](#2.sentence-1)