This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

### 2600. `ios_base` must store inaccessible iostate flags

Section: 31.5.2.6 [ios.base.storage] Status: NAD Submitter: David Krauss Opened: 2016-03-14 Last modified: 2019-02-26

Priority: Not Prioritized

View all other issues in [ios.base.storage].

View all issues with NAD status.

Discussion:

DR 41, "Ios_base needs `clear()`, `exceptions()`" stopped short of providing the interface suggested in its title, but it did require the underlying state to be stored in `ios_base`. Because `rdstate()` is also missing, `ios_base` manipulators relying on `iword` and `pword` cannot detect failure. The only safe alternative is to manipulate a derived class, which must be a template.

libc++ already provides the interface as a nonconforming extension. libstdc++ implements the internal state but leaves it frustratingly inaccessible, as specified. Any conforming implementation should be able to provide the interface without ABI problems.

[2016-04, Issues Telecon]

This is really a request for an (feature) API. Passing to LEWG.

[LEWG Kona 2017]

Recommend NAD: iostreams aren't used in this way enough to spend committee time on it. However, a paper could change our minds.

Proposed resolution: