> > No iterators!
> >
> >
Part of the motivation for dyn_bitset (imho) is to give clients of
> >
vector<bool> a place to migrate to so that we can deprecate
> >
vector<bool>. Therefore dyn_bitset must support the
vector<bool>
> > interface at least to a large extent, if not
completely. Having it also
> > support the bitset interface is a
good thing too. I think both could
> > use iterators, begin, end,
rbegin, rend, etc. dyn_bitset could also use
> > the rest of the
vector interface: insert, erase, front, back, etc. I
> > would
drop append (neither bitset nor vector). In short, I would start
>
> with the interface of std::vector<bool> and add to it as
appropriate
> > from std::bitset.
>
> The problem with
iterators over bits is that they are slow. It seems to me
> like putting
iterators in the bitset is just tempting users to actually
> use them,
when in most situations they shouldn't. If the user wants to
> iterator
over stuff, they probably should look to vector<char> or
> something
similar instead.
But isn't it still an issue that you can't fulfill
all of the iterator requirements because a bit is not addressable? In other
words, iterators must allow:
T* p = &*v.begin();
Can we do this with dyn_bitset?