[libc++] Revert the addition of map/multimap CTAD
This was found to be broken on Clang trunk. This is a revert of the
following commits (the subsequent commits added XFAILs to the tests
that were missing from the original submission):
r362986: Implement deduction guides for map/multimap.
r363014: Add some XFAILs
r363097: Add more XFAILs
r363197: Add even more XFAILs
llvm-svn: 363688
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 1fab01f92bdb23bfce98ee1281fe7be10ec04373
diff --git a/include/map b/include/map
index 6b0bcb8..a8bf448 100644
--- a/include/map
+++ b/include/map
@@ -903,7 +903,7 @@
typedef _Tp mapped_type;
typedef pair<const key_type, mapped_type> value_type;
typedef _Compare key_compare;
- typedef typename __identity<_Allocator>::type allocator_type;
+ typedef _Allocator allocator_type;
typedef value_type& reference;
typedef const value_type& const_reference;
@@ -1465,32 +1465,6 @@
#endif
};
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator, class _Compare = less<__iter_key_type<_InputIterator>>,
- class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
- class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
- -> map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-
-template<class _Key, class _Tp, class _Compare = less<typename remove_const<_Key>::type>,
- class _Allocator = allocator<pair<const _Key, _Tp>>,
- class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
- -> map<typename remove_const<_Key>::type, _Tp, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(_InputIterator, _InputIterator, _Allocator)
- -> map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
- less<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(initializer_list<pair<_Key, _Tp>>, _Allocator)
- -> map<typename remove_const<_Key>::type, _Tp, less<typename remove_const<_Key>::type>, _Allocator>;
-#endif
#ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Compare, class _Allocator>
@@ -1664,7 +1638,7 @@
typedef _Tp mapped_type;
typedef pair<const key_type, mapped_type> value_type;
typedef _Compare key_compare;
- typedef typename __identity<_Allocator>::type allocator_type;
+ typedef _Allocator allocator_type;
typedef value_type& reference;
typedef const value_type& const_reference;
@@ -2116,33 +2090,6 @@
typedef unique_ptr<__node, _Dp> __node_holder;
};
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator, class _Compare = less<__iter_key_type<_InputIterator>>,
- class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
- class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
- -> multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-
-template<class _Key, class _Tp, class _Compare = less<typename remove_const<_Key>::type>,
- class _Allocator = allocator<pair<const _Key, _Tp>>,
- class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
- -> multimap<typename remove_const<_Key>::type, _Tp, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(_InputIterator, _InputIterator, _Allocator)
- -> multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
- less<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
- class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
- -> multimap<typename remove_const<_Key>::type, _Tp, less<typename remove_const<_Key>::type>, _Allocator>;
-#endif
-
#ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Compare, class _Allocator>
multimap<_Key, _Tp, _Compare, _Allocator>::multimap(multimap&& __m, const allocator_type& __a)