Boost logo

Boost :

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.


Boost list run by bdawes at, gregod at, cpdaniel at, john at