Title
<bitset> synopsis overspecified
Status
c++11
Section
[template.bitset]
Submitter
Bo Persson

Created on 2009-10-05.00:00:00 last changed 162 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Change [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 {
...
Date: 2010-10-21.18:28:33

[ 2009-10 Santa Cruz: ]

Moved to Ready.

Date: 2009-10-05.00:00:00

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.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2010-10-21 18:28:33adminsetmessages: + msg1229
2010-10-21 18:28:33adminsetmessages: + msg1228
2009-10-05 00:00:00admincreate