Add tree heterogeneous lookup in alternative modes

François Dumont frs.dumont@gmail.com
Wed Jun 3 19:57:00 GMT 2015


Hi

     Here is a patch to add heterogeneous lookup to alternative modes. 
To do so I had to expose __is_transparent as __has_is_transparent to 
avoid confilct with existing __is_transparent. Should I put it in 
__detail namespace ?

     * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
     outer scope and rename in ...
     (std::__hash_is_transparent<>): ... this.
     * include/debug/stl_map.h (map::find<>,
     map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
     member function templates to perform heterogeneous lookup.
     * include/debug/stl_multimap.h (multimap::find<>,
     multimap::lower_bound<>, multimap::upper_bound<>,
     multimap::equal_range<>): Likewise.
     * include/debug/stl_multiset.h (multiset::find<>,
     multiset::lower_bound<>, multiset::upper_bound<>,
     multiset::equal_range<>): Likewise.
     * include/debug/stl_set.h (set::find<>,
     set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
     * include/profile/stl_map.h (map::find<>, map::count<>,
     map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
     * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
     multimap::lower_bound<>, multimap::upper_bound<>,
     multimap::equal_range<>): Likewise.
     * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
     multiset::lower_bound<>, multiset::upper_bound<>,
     multiset::equal_range<>): Likewise.
     * include/profile/stl_set.h (set::find<>, set::count<>,
     set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.

Tested under linux x86_64 debug and profile modes.

François

-------------- next part --------------
A non-text attachment was scrubbed...
Name: tree.patch
Type: text/x-patch
Size: 34199 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20150603/b29f4cbe/attachment.bin>


More information about the Libstdc++ mailing list