Lines Matching refs:_Iter
43 template <class _Iter>
44 using __value_type = iter_value_t<_Iter>;
46 template <class _Iter>
47 using __iterator_category = ranges::__iterator_concept<_Iter>;
49 template <class _Iter>
50 using __difference_type = iter_difference_t<_Iter>;
68 template <class _Iter>
69 using __value_type = typename iterator_traits<_Iter>::value_type;
71 template <class _Iter>
72 using __iterator_category = typename iterator_traits<_Iter>::iterator_category;
74 template <class _Iter>
75 using __difference_type = typename iterator_traits<_Iter>::difference_type;
78 template <class _Iter, class _Distance>
80 static void advance(_Iter& __iter, _Distance __count) {
85 template <class _Iter>
87 static typename iterator_traits<_Iter>::difference_type distance(_Iter __first, _Iter __last) {
91 template <class _Iter>
92 using __deref_t = decltype(*std::declval<_Iter&>());
94 template <class _Iter>
95 using __move_t = decltype(std::move(*std::declval<_Iter&>()));
97 template <class _Iter>
100 …static_assert(is_same<__deref_t<_Iter>, typename iterator_traits<__uncvref_t<_Iter> >::reference>:…
107 template <class _Iter>
112 is_reference<__deref_t<_Iter> >::value,
113 __move_t<_Iter> >
114 __iter_move(_Iter&& __i) {
115 __validate_iter_reference<_Iter>();
117 return std::move(*std::forward<_Iter>(__i));
120 template <class _Iter>
126 !is_reference<__deref_t<_Iter> >::value,
127 __deref_t<_Iter> >
128 __iter_move(_Iter&& __i) {
129 __validate_iter_reference<_Iter>();
131 return *std::forward<_Iter>(__i);
148 template <class _Iter>
150 __uncvref_t<_Iter> next(_Iter&& __it,
151 typename iterator_traits<__uncvref_t<_Iter> >::difference_type __n = 1) {
152 return std::next(std::forward<_Iter>(__it), __n);
156 template <class _Iter>
158 __uncvref_t<_Iter> prev(_Iter&& __iter,
159 typename iterator_traits<__uncvref_t<_Iter> >::difference_type __n = 1) {
160 return std::prev(std::forward<_Iter>(__iter), __n);
163 template <class _Iter>
165 void __advance_to(_Iter& __first, _Iter __last) {