Lines Matching refs:_I2

62   template<class _I2, class _S2>
63 requires convertible_to<const _I2&, _Iter> && convertible_to<const _S2&, _Sent>
64 constexpr common_iterator(const common_iterator<_I2, _S2>& __other) in common_iterator() argument
72 template<class _I2, class _S2>
73 requires convertible_to<const _I2&, _Iter> && convertible_to<const _S2&, _Sent> &&
74 assignable_from<_Iter&, const _I2&> && assignable_from<_Sent&, const _S2&>
75 common_iterator& operator=(const common_iterator<_I2, _S2>& __other) {
109 template<class _I2 = _Iter>
111 requires indirectly_readable<const _I2> &&
112 (requires(const _I2& __i) { __i.operator->(); } ||
113 is_reference_v<iter_reference_t<_I2>> ||
114 constructible_from<iter_value_t<_I2>, iter_reference_t<_I2>>)
148 template<class _I2, sentinel_for<_Iter> _S2>
149 requires sentinel_for<_Sent, _I2>
150 …friend constexpr bool operator==(const common_iterator& __x, const common_iterator<_I2, _S2>& __y)…
163 return _VSTD::__unchecked_get<_Sent>(__x.__hold_) == _VSTD::__unchecked_get<_I2>(__y.__hold_);
166 template<class _I2, sentinel_for<_Iter> _S2>
167 requires sentinel_for<_Sent, _I2> && equality_comparable_with<_Iter, _I2>
168 …friend constexpr bool operator==(const common_iterator& __x, const common_iterator<_I2, _S2>& __y)…
179 … return _VSTD::__unchecked_get<_Iter>(__x.__hold_) == _VSTD::__unchecked_get<_I2>(__y.__hold_);
184 return _VSTD::__unchecked_get<_Sent>(__x.__hold_) == _VSTD::__unchecked_get<_I2>(__y.__hold_);
187 template<sized_sentinel_for<_Iter> _I2, sized_sentinel_for<_Iter> _S2>
188 requires sized_sentinel_for<_Sent, _I2>
189 …friend constexpr iter_difference_t<_I2> operator-(const common_iterator& __x, const common_iterato…
200 return _VSTD::__unchecked_get<_Iter>(__x.__hold_) - _VSTD::__unchecked_get<_I2>(__y.__hold_);
205 return _VSTD::__unchecked_get<_Sent>(__x.__hold_) - _VSTD::__unchecked_get<_I2>(__y.__hold_);
216 template<indirectly_swappable<_Iter> _I2, class _S2>
217 friend constexpr void iter_swap(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) in iter_swap() argument
218 noexcept(noexcept(ranges::iter_swap(declval<const _Iter&>(), declval<const _I2&>()))) in iter_swap()
221 …_LIBCPP_ASSERT(holds_alternative<_I2>(__y.__hold_), "Attempted to iter_swap a non-dereferenceable … in iter_swap()
222 …return ranges::iter_swap(_VSTD::__unchecked_get<_Iter>(__x.__hold_), _VSTD::__unchecked_get<_I2>(_… in iter_swap()