This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Supporting non-standard pointer types in STL containers
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: Bob Walters <bob dot s dot walters at gmail dot com>, libstdc++ at gcc dot gnu dot org
- Date: Mon, 7 Jul 2008 05:08:56 -0500 (CDT)
- Subject: Re: Supporting non-standard pointer types in STL containers
- Accept-language: en-US
- References: <04648ECC-429B-45C5-B90C-E539A2032857@gmail.com> <17589250.1213580044266.JavaMail.oracle@acsmt301.oracle.com> <5FA75F4B-6A76-4171-BD7A-CBCE22F64E52@gmail.com>
Hi,
I quickly skimmed the patch and at the moment I'm mostly worried by the change to _Rb_tree_iterator, I don't think we can change the type (add a template parameter for the allocator) and keep the level of binary compatibility that we want.
Additionally to that, which at the moment seems a show stopper to me, I'm also concerned that, even assuming the other concerns (about the layout of _Rb_tree_impl for example) turns out to be unfunded, it looks like we are going to break binary compatibility with the existing instantiations with Alloc != std::allocator, that seems bad, after all the efforts we made in the past to clean the containers to work also with stateful allocators (well, still not optimally performance wise, but that is another binary compatibility issue which must wait for the next break, unfortunately).
Paolo.