
On 13/12/05, Frank Laub <frank.laub@gmail.com> wrote:
Implementation notes: Instead of needing an 'Invalid' element, I just use Boost.Optional now. Thanks a ton for that suggestion Yuval!
Is the case of BOOST_BITFIELD, could you not simply use 0 as the "nothing" value, instead of optional? Also, is there that much of a use for being able to set the values for BITFIELD? I think a simple version would be enough in most cases... BOOST_BITFIELD_SIMPLE(MouseKey, (LeftButton) // would get the value 1<<0 (RightButton) // would get the value 1<<1 (Shift) // would get the value 1<<2 (Control) // would get the value 1<<3 ... (MiddleButton) // would get the value 1<<n ) and then you could have none ( with value 0 ) and all ( with value ~0, or (1<<n+1)-1 ) - Scott McMurray P.S. As for that bitfield_iterator, it would have value_type bool and act like an random-access iterator over the bits of the enum :P