This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
Section: 22.9.2 [template.bitset] Status: C++11 Submitter: Bo Persson Opened: 2009-10-05 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [template.bitset].
View all issues with C++11 status.
Discussion:
The resolutions to some library defect reports, like 1178 requires that #includes in each synopsis should be taken literally. This means that the <bitset> header now must include <stdexcept>, even though none of the exceptions are mentioned in the <bitset> header.
Many other classes are required to throw exceptions like invalid_argument and out_of_range, without explicitly including <stdexcept> in their synopsis. It is totally possible for implementations to throw the needed exceptions from utility functions, whose implementations are not visible in the headers.
I propose that <stdexcept> is removed from the <bitset> header.
[ 2009-10 Santa Cruz: ]
Moved to Ready.
Proposed resolution:
Change 22.9.2 [template.bitset]:
#include <cstddef> // for size_t #include <string>#include <stdexcept> // for invalid_argument,// out_of_range, overflow_error#include <iosfwd> // for istream, ostream namespace std { ...