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.
<bitset>
synopsis overspecifiedSection: 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(i)
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 { ...