[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)