[libc++] Implement P0919R3: heterogenous lookup for unordered containers
authorRuslan Arutyunyan <ruslan.arutyunyan@intel.com>
Tue, 10 Nov 2020 12:49:55 +0000 (07:49 -0500)
committerLouis Dionne <ldionne@apple.com>
Wed, 11 Nov 2020 22:44:42 +0000 (17:44 -0500)
commite5ec94a1a083e055ac2686ecc72fb4868dd7ce85
tree9a37070a8f9cbfa8f0e39d59fc8d1a24d7a4b077
parent37c4ac8545537077788d4e00be7473fe0e2113c3
[libc++] Implement P0919R3: heterogenous lookup for unordered containers

Implement heterogenous lookup for unordered containers, including the
refinement from P1690R1.

Differential Revision: https://reviews.llvm.org/D87171
35 files changed:
libcxx/docs/FeatureTestMacroTable.rst
libcxx/include/unordered_map
libcxx/include/unordered_set
libcxx/include/version
libcxx/test/std/containers/unord/unord.map/contains.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.map/count.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.map/equal_range_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.map/equal_range_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.map/find_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.map/find_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multimap/contains.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multimap/count.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multimap/equal_range_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multimap/equal_range_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multimap/find_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multimap/find_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multiset/contains.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multiset/count.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multiset/equal_range_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multiset/equal_range_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multiset/find_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multiset/find_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.set/contains.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.set/count.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.set/equal_range_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.set/equal_range_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.set/find_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.set/find_non_const.transparent.pass.cpp [new file with mode: 0644]
libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
libcxx/test/support/is_transparent.h
libcxx/test/support/test_transparent_unordered.h [new file with mode: 0644]
libcxx/utils/generate_feature_test_macro_components.py
libcxx/www/cxx2a_status.html