Title
bitset constructor: incorrect number of initialized bits
Status
cd1
Section
[bitset.cons]
Submitter
Dag Henriksson

Created on 2004-01-30.00:00:00 last changed 172 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

In [bitset.cons] paragraph 2, change "M is the smaller of N and the value CHAR_BIT * sizeof (unsigned long). (249)" to "M is the smaller of N and the number of bits in the value representation (section [basic.types]) of unsigned long."

Date: 2004-01-30.00:00:00

The constructor from unsigned long says it initializes "the first M bit positions to the corresponding bit values in val. M is the smaller of N and the value CHAR_BIT * sizeof(unsigned long)."

Object-representation vs. value-representation strikes again. CHAR_BIT * sizeof (unsigned long) does not give us the number of bits an unsigned long uses to hold the value. Thus, the first M bit position above is not guaranteed to have any corresponding bit values in val.

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg2703
2004-01-30 00:00:00admincreate