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: Martin Sebor Opened: 2009-10-29 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [template.bitset].
View all issues with C++11 status.
Discussion:
Issue 1227 — <bitset> synopsis overspecified makes the observation that std::bitset, and in fact the whole library, may be implemented without needing to #include <stdexcept> in any library header. The proposed resolution removes the #include <stdexcept> directive from the header.
I'd like to add that the <bitset> header (as well as the rest of the library) has also been implemented without #including the <cstddef> header in any library header. In the case of std::bitset, the template is fully usable (i.e., it may be instantiated and all its member functions may be used) without ever mentioning size_t. In addition, just like no library header except for <bitset> #includes <stdexcept> in its synopsis, no header but <bitset> #includes <cstddef> either.
Thus I suggest that the #include <cstddef> directive be similarly removed from the synopsis of <bitset>.
[ 2010-02-08 Moved to Tentatively Ready after 6 positive votes on c++std-lib. ]
Proposed resolution:
Change 22.9.2 [template.bitset]:
#include <cstddef> // for size_t#include <string> #include <iosfwd> // for istream, ostream namespace std { ...