@@ -600,10 +600,7 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
600600# include < __ranges/from_range.h>
601601# include < __tree>
602602# include < __type_traits/container_traits.h>
603- # include < __type_traits/desugars_to.h>
604603# include < __type_traits/is_allocator.h>
605- # include < __type_traits/is_convertible.h>
606- # include < __type_traits/make_transparent.h>
607604# include < __type_traits/remove_const.h>
608605# include < __type_traits/type_identity.h>
609606# include < __utility/forward.h>
@@ -669,11 +666,6 @@ public:
669666# endif
670667};
671668
672- template <class _Key , class _MapValueT , class _Compare >
673- struct __make_transparent <__map_value_compare<_Key, _MapValueT, _Compare> > {
674- using type _LIBCPP_NODEBUG = __map_value_compare<_Key, _MapValueT, __make_transparent_t <_Compare> >;
675- };
676-
677669# if _LIBCPP_STD_VER >= 14
678670template <class _MapValueT , class _Key , class _Compare >
679671struct __lazy_synth_three_way_comparator <__map_value_compare<_Key, _MapValueT, _Compare>, _MapValueT, _MapValueT> {
@@ -1056,24 +1048,6 @@ public:
10561048 _LIBCPP_HIDE_FROM_ABI mapped_type& operator [](key_type&& __k);
10571049# endif
10581050
1059- template <class _Arg ,
1060- __enable_if_t <__is_transparently_comparable_v<_Compare, key_type, __remove_cvref_t <_Arg> >, int > = 0 >
1061- _LIBCPP_HIDE_FROM_ABI mapped_type& at (_Arg&& __arg) {
1062- auto [_, __child] = __tree_.__find_equal (__arg);
1063- if (__child == nullptr )
1064- std::__throw_out_of_range (" map::at: key not found" );
1065- return static_cast <__node_pointer>(__child)->__get_value ().second ;
1066- }
1067-
1068- template <class _Arg ,
1069- __enable_if_t <__is_transparently_comparable_v<_Compare, key_type, __remove_cvref_t <_Arg> >, int > = 0 >
1070- _LIBCPP_HIDE_FROM_ABI const mapped_type& at (_Arg&& __arg) const {
1071- auto [_, __child] = __tree_.__find_equal (__arg);
1072- if (__child == nullptr )
1073- std::__throw_out_of_range (" map::at: key not found" );
1074- return static_cast <__node_pointer>(__child)->__get_value ().second ;
1075- }
1076-
10771051 _LIBCPP_HIDE_FROM_ABI mapped_type& at (const key_type& __k);
10781052 _LIBCPP_HIDE_FROM_ABI const mapped_type& at (const key_type& __k) const ;
10791053
@@ -1268,15 +1242,11 @@ public:
12681242 _LIBCPP_HIDE_FROM_ABI iterator find (const key_type& __k) { return __tree_.find (__k); }
12691243 _LIBCPP_HIDE_FROM_ABI const_iterator find (const key_type& __k) const { return __tree_.find (__k); }
12701244# if _LIBCPP_STD_VER >= 14
1271- template <typename _K2,
1272- enable_if_t <__is_transparent_v<_Compare, _K2> || __is_transparently_comparable_v<_Compare, key_type, _K2>,
1273- int > = 0 >
1245+ template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
12741246 _LIBCPP_HIDE_FROM_ABI iterator find (const _K2& __k) {
12751247 return __tree_.find (__k);
12761248 }
1277- template <typename _K2,
1278- enable_if_t <__is_transparent_v<_Compare, _K2> || __is_transparently_comparable_v<_Compare, key_type, _K2>,
1279- int > = 0 >
1249+ template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
12801250 _LIBCPP_HIDE_FROM_ABI const_iterator find (const _K2& __k) const {
12811251 return __tree_.find (__k);
12821252 }
@@ -1292,9 +1262,7 @@ public:
12921262
12931263# if _LIBCPP_STD_VER >= 20
12941264 _LIBCPP_HIDE_FROM_ABI bool contains (const key_type& __k) const { return find (__k) != end (); }
1295- template <typename _K2,
1296- enable_if_t <__is_transparent_v<_Compare, _K2> || __is_transparently_comparable_v<_Compare, key_type, _K2>,
1297- int > = 0 >
1265+ template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
12981266 _LIBCPP_HIDE_FROM_ABI bool contains (const _K2& __k) const {
12991267 return find (__k) != end ();
13001268 }
@@ -1303,16 +1271,12 @@ public:
13031271 _LIBCPP_HIDE_FROM_ABI iterator lower_bound (const key_type& __k) { return __tree_.lower_bound (__k); }
13041272 _LIBCPP_HIDE_FROM_ABI const_iterator lower_bound (const key_type& __k) const { return __tree_.lower_bound (__k); }
13051273# if _LIBCPP_STD_VER >= 14
1306- template <typename _K2,
1307- enable_if_t <__is_transparent_v<_Compare, _K2> || __is_transparently_comparable_v<_Compare, key_type, _K2>,
1308- int > = 0 >
1274+ template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
13091275 _LIBCPP_HIDE_FROM_ABI iterator lower_bound (const _K2& __k) {
13101276 return __tree_.lower_bound (__k);
13111277 }
13121278
1313- template <typename _K2,
1314- enable_if_t <__is_transparent_v<_Compare, _K2> || __is_transparently_comparable_v<_Compare, key_type, _K2>,
1315- int > = 0 >
1279+ template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
13161280 _LIBCPP_HIDE_FROM_ABI const_iterator lower_bound (const _K2& __k) const {
13171281 return __tree_.lower_bound (__k);
13181282 }
@@ -1321,15 +1285,11 @@ public:
13211285 _LIBCPP_HIDE_FROM_ABI iterator upper_bound (const key_type& __k) { return __tree_.upper_bound (__k); }
13221286 _LIBCPP_HIDE_FROM_ABI const_iterator upper_bound (const key_type& __k) const { return __tree_.upper_bound (__k); }
13231287# if _LIBCPP_STD_VER >= 14
1324- template <typename _K2,
1325- enable_if_t <__is_transparent_v<_Compare, _K2> || __is_transparently_comparable_v<_Compare, key_type, _K2>,
1326- int > = 0 >
1288+ template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
13271289 _LIBCPP_HIDE_FROM_ABI iterator upper_bound (const _K2& __k) {
13281290 return __tree_.upper_bound (__k);
13291291 }
1330- template <typename _K2,
1331- enable_if_t <__is_transparent_v<_Compare, _K2> || __is_transparently_comparable_v<_Compare, key_type, _K2>,
1332- int > = 0 >
1292+ template <typename _K2, enable_if_t <__is_transparent_v<_Compare, _K2>, int > = 0 >
13331293 _LIBCPP_HIDE_FROM_ABI const_iterator upper_bound (const _K2& __k) const {
13341294 return __tree_.upper_bound (__k);
13351295 }
0 commit comments