$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Howard Hinnant (hinnant_at_[hidden])
Date: 2002-06-12 19:11:19
On Wednesday, June 12, 2002, at 07:16  PM, Chuck Allison wrote:
>> I'm guessing that C++0X will entertain the idea of deprecating
>> vector<bool>.  I'm also guessing that said movement will be more likely
>> to be successful if there is also a proposed bitvector for vector<bool>
>> clients to migrate to.  dyn_bitset does not have to be that class 
>> though.
>
> I think this is a good argument in favor of dyn_bitset, and for 
> providing
> iterators. I haven't looked at it closely, but can we provide an 
> iterator
> for dyn_bitset that meets all the requirements for STL iterators?
No.  But you can do no worse than vector<bool>::iterator.  And I am 
optimistic (maybe hopelessly so) that C++0X will be more gracious 
towards proxy iterators and references.  Currently in the Metrowerks 
implementation, you can use vector<bool>::iterator in all of the 
<algorithm>'s.  You can even:
std::vector<bool> v(2);
std::swap(v[0], v[1]);
(even though temporaries won't bind to non-const references)  This 
currently works by overloading T and T& which is a fuzzy area in the 
standard (core dr 214).  Even though it looks like the resolution of 214 
will make this overloading illegal, I am hopeful that another language 
feature needed for move semantics will continue to allow the swap 
expression to work for proxy references.
-Howard