diff options
Diffstat (limited to 'libcxx/include/deque')
| -rw-r--r-- | libcxx/include/deque | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/libcxx/include/deque b/libcxx/include/deque index d8f48f07954c..0d7eb9aa9316 100644 --- a/libcxx/include/deque +++ b/libcxx/include/deque @@ -1464,12 +1464,10 @@ public: iterator insert(const_iterator __p, size_type __n, const value_type& __v); template <class _InputIter> iterator insert(const_iterator __p, _InputIter __f, _InputIter __l, - typename enable_if<__is_cpp17_input_iterator<_InputIter>::value - &&!__is_cpp17_forward_iterator<_InputIter>::value>::type* = 0); + typename enable_if<__is_exactly_cpp17_input_iterator<_InputIter>::value>::type* = 0); template <class _ForwardIterator> iterator insert(const_iterator __p, _ForwardIterator __f, _ForwardIterator __l, - typename enable_if<__is_cpp17_forward_iterator<_ForwardIterator>::value - &&!__is_cpp17_bidirectional_iterator<_ForwardIterator>::value>::type* = 0); + typename enable_if<__is_exactly_cpp17_forward_iterator<_ForwardIterator>::value>::type* = 0); template <class _BiIter> iterator insert(const_iterator __p, _BiIter __f, _BiIter __l, typename enable_if<__is_cpp17_bidirectional_iterator<_BiIter>::value>::type* = 0); @@ -1556,8 +1554,7 @@ public: template <class _InpIter> void __append(_InpIter __f, _InpIter __l, - typename enable_if<__is_cpp17_input_iterator<_InpIter>::value && - !__is_cpp17_forward_iterator<_InpIter>::value>::type* = 0); + typename enable_if<__is_exactly_cpp17_input_iterator<_InpIter>::value>::type* = 0); template <class _ForIter> void __append(_ForIter __f, _ForIter __l, typename enable_if<__is_cpp17_forward_iterator<_ForIter>::value>::type* = 0); @@ -2266,8 +2263,7 @@ template <class _Tp, class _Allocator> template <class _InputIter> typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::insert(const_iterator __p, _InputIter __f, _InputIter __l, - typename enable_if<__is_cpp17_input_iterator<_InputIter>::value - &&!__is_cpp17_forward_iterator<_InputIter>::value>::type*) + typename enable_if<__is_exactly_cpp17_input_iterator<_InputIter>::value>::type*) { __split_buffer<value_type, allocator_type&> __buf(__base::__alloc()); __buf.__construct_at_end(__f, __l); @@ -2279,8 +2275,7 @@ template <class _Tp, class _Allocator> template <class _ForwardIterator> typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::insert(const_iterator __p, _ForwardIterator __f, _ForwardIterator __l, - typename enable_if<__is_cpp17_forward_iterator<_ForwardIterator>::value - &&!__is_cpp17_bidirectional_iterator<_ForwardIterator>::value>::type*) + typename enable_if<__is_exactly_cpp17_forward_iterator<_ForwardIterator>::value>::type*) { size_type __n = _VSTD::distance(__f, __l); __split_buffer<value_type, allocator_type&> __buf(__n, 0, __base::__alloc()); @@ -2362,8 +2357,7 @@ template <class _Tp, class _Allocator> template <class _InpIter> void deque<_Tp, _Allocator>::__append(_InpIter __f, _InpIter __l, - typename enable_if<__is_cpp17_input_iterator<_InpIter>::value && - !__is_cpp17_forward_iterator<_InpIter>::value>::type*) + typename enable_if<__is_exactly_cpp17_input_iterator<_InpIter>::value>::type*) { for (; __f != __l; ++__f) #ifdef _LIBCPP_CXX03_LANG |
