attribute is not part of the type of the class member.
constant-expression shall be an integral constant expression
with a value greater than or equal to zero.
value of the integral constant expression may
be larger than the number of bits in the object
representation of the bit-field's type; in such
cases the extra bits are used as padding bits and do not participate in
the value representation of the bit-field.
Allocation of bit-fields within a class object is
Alignment of bit-fields is implementation-defined.
Bit-fields are packed into some addressable allocation unit.
If the initializer for a reference of type constT& is
an lvalue that refers to a bit-field, the reference is bound to a
temporary initialized to hold the value of the bit-field; the reference
is not bound to the bit-field directly.
If the value true or false is stored into a bit-field of
type bool of any size (including a one bit bit-field), the
original bool value and the value of the bit-field shall compare
If the value of an enumerator is stored into a bit-field of the
same enumeration type and the number of bits in the bit-field is large
enough to hold all the values of that enumeration type,
the original enumerator value and the value of the bit-field shall