[v3] deprecated ext/hash_map, ext/hash_set

Joe Buck Joe.Buck@synopsys.COM
Sun Oct 21 20:39:00 GMT 2007

On Sun, Oct 21, 2007 at 12:14:02PM -0500, Gabriel Dos Reis wrote:
>  "AlisdairM" <nntp.alisdairm@gmail.com> writes:
> | In Toronto we finally adopted a specification for vector< bool > so
> | that we are in a position to deprecate it, but there is the alternate
> | opinion that concepts will enable real container support for proxied
> | iterators, and we might not need to deprecate it after all.
> Deprecating a feature in a forthcoming standard does not make existing
> code written with it (specified in existing standards) suddenly vanish.

I have a lot of code with vector<bool> in it.  I would have no problem
with a compiler that treated vector<bool> much like vector<char> or
vector<int>; in fact, sometimes I've used a vector<char> where a
vector<bool> would be more natural precisely to avoid the "optimization",
since the bit-packing incurs a computational cost that outweighs the space
saving at least in those cases.

But it would be completely broken to ever see a "deprecated" warning: you
can make a vector from any other POD, why not bool?  So no one has
explained yet just what it would mean to deprecate vector<bool>.
Take the specialization out, no problem.

More information about the Libstdc++ mailing list