[patch] empty base class optimization completed in stl_tree.h

Maxim Yegorushkin maxim.yegorushkin@gmail.com
Wed Jan 10 10:48:00 GMT 2007


On 10/01/07, Chris Jefferson <chris@bubblescope.net> wrote:
> On 10/01/07, Maxim Yegorushkin <maxim.yegorushkin@gmail.com> wrote:
> > Hi,
> >
> > It looks like an intended empty base class optimization has not been
> > finished for struct _Rb_tree_impl in stl_tree.h. If it is so indeed,
> > this patch completes it.
>
> Unfortunatly I don't have a working compile of g++ right now to check
> this. The only thing in this patch which worries me is this line:
>
> +        struct _Rb_tree_impl : _Node_allocator, _Key_compare
>
> As multiple inheritance is known to occasionally cause annoying
> problems. I would advise trying to make a key_compare with all the
> methods a _Node_allocator should have, and also give the
> _Node_allocator could have.

Could you please elaborate on what is the problem.

> I wonder, if someone wanted to be really insane, if they could make
> the allocator and the key compare exactly the same type?

Does it make sense to protect from it by checking if allocator and
key_comp are the same type?



More information about the Libstdc++ mailing list