[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)<br>**Element** | **Effect(s) if set** |
| --- | --- |
| [ð](#tab:ios.iostate-row-2)<br>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)<br>eofbit | indicates that an input operation reached the end of an input sequence; |
| [ð](#tab:ios.iostate-row-4)<br>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)
