Fix tree containers debug mode C++11 allocator awareness

François Dumont frs.dumont@gmail.com
Tue Dec 17 21:38:00 GMT 2013


Hi

     Here is a patch to fix tests regarding newly introduce C++ 
allocator awareness of associative containers in debug mode.

     Note that doing so I realize that what was done in allocator aware 
move constructors is not perfectly correct and I will submit another 
patch later.

     I am not sure about to write ChangeLog for this without too many 
repetition, here is a try:

2013-12-17  François Dumont  <fdumont@gcc.gnu.org>

     * include/debug/set.h (set): Implement C++11 allocator-aware
     container requirements.
     * include/debug/map.h (map): Likewise.
     * include/debug/multiset.h (multiset): Likewise.
     * include/debug/multimap.h (multimap): Likewise.
     * include/debug/set.h (set::operator=(set&&)): Add noexcept and
     fix implementation regarding management of safe iterators.
     * include/debug/map.h (map::operator=(map&&)): Likewise.
     * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
     * include/debug/multimap.h (multimap::operator=(multimap&&)):
     Likewise.
     * include/debug/set.h (set::operator=(std::initializer_list<>)):
     Use normal equivalent operator.
     * include/debug/map.h (map::operator=(std::initializer_list<>)):
     Likewise.
     * include/debug/multiset.h
     (multiset::operator=(std::initializer_list<>)): Likewise.
     * include/debug/multimap.h
     (multimap::operator=(std::initializer_list<>)): Likewise.
     * include/debug/set.h (set::swap(set&)): Add noexcept
     specification, add allocator equility check.
     * include/debug/map.h (map::swap(map&)): Likewise.
     * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
     * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.

Tested under Linux x86_64 normal and debug modes.

Ok to commit ?

François

-------------- next part --------------
A non-text attachment was scrubbed...
Name: c++11_alloc.patch
Type: text/x-patch
Size: 10914 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20131217/18caa436/attachment.bin>


More information about the Libstdc++ mailing list