@@ -833,7 +833,7 @@ public:
833833 _LIBCPP_HIDE_FROM_ABI iterator insert_range (const_iterator __position, _Range&& __range) {
834834 if constexpr (ranges::bidirectional_range<_Range>) {
835835 auto __n = static_cast <size_type>(ranges::distance (__range));
836- return __insert_bidirectional (__position, ranges::begin (__range), ranges::end (__range), __n);
836+ return __insert_bidirectional<_RangeAlgPolicy> (__position, ranges::begin (__range), ranges::end (__range), __n);
837837
838838 } else if constexpr (ranges::forward_range<_Range> || ranges::sized_range<_Range>) {
839839 auto __n = static_cast <size_type>(ranges::distance (__range));
@@ -1203,10 +1203,10 @@ private:
12031203 template <class _Iterator >
12041204 _LIBCPP_HIDE_FROM_ABI iterator __insert_with_size (const_iterator __p, _Iterator __f, size_type __n);
12051205
1206- template <class _BiIter , class _Sentinel >
1206+ template <class _IterOpsPolicy , class _BiIter , class _Sentinel >
12071207 _LIBCPP_HIDE_FROM_ABI iterator
12081208 __insert_bidirectional (const_iterator __p, _BiIter __f, _Sentinel __sent, size_type __n);
1209- template <class _BiIter >
1209+ template <class _IterOpsPolicy , class _BiIter >
12101210 _LIBCPP_HIDE_FROM_ABI iterator __insert_bidirectional (const_iterator __p, _BiIter __f, _BiIter __l, size_type __n);
12111211
12121212 template <class _InpIter , __enable_if_t <__has_exactly_input_iterator_category<_InpIter>::value, int > = 0 >
@@ -1903,26 +1903,21 @@ deque<_Tp, _Allocator>::__insert_with_size(const_iterator __p, _Iterator __f, si
19031903template <class _Tp , class _Allocator >
19041904template <class _BiIter , __enable_if_t <__has_bidirectional_iterator_category<_BiIter>::value, int > >
19051905typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::insert(const_iterator __p, _BiIter __f, _BiIter __l) {
1906- return __insert_bidirectional (__p, __f, __l, std::distance (__f, __l));
1906+ return __insert_bidirectional<_ClassicAlgPolicy> (__p, __f, __l, std::distance (__f, __l));
19071907}
19081908
19091909template <class _Tp , class _Allocator >
1910- template <class _BiIter , class _Sentinel >
1910+ template <class _IterOpsPolicy , class _BiIter , class _Sentinel >
19111911_LIBCPP_HIDE_FROM_ABI typename deque<_Tp, _Allocator>::iterator
19121912deque<_Tp, _Allocator>::__insert_bidirectional(const_iterator __p, _BiIter __f, _Sentinel, size_type __n) {
1913- return __insert_bidirectional (__p, __f, std ::next (__f, __n), __n);
1913+ return __insert_bidirectional<_IterOpsPolicy> (__p, __f, _IterOps<_IterOpsPolicy> ::next (__f, __n), __n);
19141914}
19151915
19161916template <class _Tp , class _Allocator >
1917- template <class _BiIter >
1917+ template <class _IterOpsPolicy , class _BiIter >
19181918_LIBCPP_HIDE_FROM_ABI typename deque<_Tp, _Allocator>::iterator
19191919deque<_Tp, _Allocator>::__insert_bidirectional(const_iterator __p, _BiIter __f, _BiIter __l, size_type __n) {
1920- # if _LIBCPP_STD_VER >= 20
1921- using _Ops = _IterOps<
1922- conditional_t <__has_bidirectional_iterator_category<_BiIter>::value, _ClassicAlgPolicy, _RangeAlgPolicy>>;
1923- # else
1924- using _Ops = _IterOps<_ClassicAlgPolicy>;
1925- # endif
1920+ using _Ops = _IterOps<_IterOpsPolicy>;
19261921 size_type __pos = __p - begin ();
19271922 size_type __to_end = size () - __pos;
19281923 allocator_type& __a = __alloc ();
0 commit comments