Lines Matching defs:_I2

77   template <class _I2, class _S2>
78 requires convertible_to<const _I2&, _Iter> && convertible_to<const _S2&, _Sent>
79 _LIBCPP_HIDE_FROM_ABI constexpr common_iterator(const common_iterator<_I2, _S2>& __other)
88 template <class _I2, class _S2>
89 requires convertible_to<const _I2&, _Iter> && convertible_to<const _S2&, _Sent> &&
90 assignable_from<_Iter&, const _I2&> && assignable_from<_Sent&, const _S2&>
91 _LIBCPP_HIDE_FROM_ABI common_iterator& operator=(const common_iterator<_I2, _S2>& __other) {
127 template <class _I2 = _Iter>
129 requires indirectly_readable<const _I2> && (requires(const _I2& __i) {
131 } || is_reference_v<iter_reference_t<_I2>> || constructible_from<iter_value_t<_I2>, iter_reference_t<_I2>>)
170 template <class _I2, sentinel_for<_Iter> _S2>
171 requires sentinel_for<_Sent, _I2>
173 operator==(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) {
188 return std::__unchecked_get<_Sent>(__x.__hold_) == std::__unchecked_get<_I2>(__y.__hold_);
191 template <class _I2, sentinel_for<_Iter> _S2>
192 requires sentinel_for<_Sent, _I2> && equality_comparable_with<_Iter, _I2>
194 operator==(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) {
207 return std::__unchecked_get<_Iter>(__x.__hold_) == std::__unchecked_get<_I2>(__y.__hold_);
212 return std::__unchecked_get<_Sent>(__x.__hold_) == std::__unchecked_get<_I2>(__y.__hold_);
215 template <sized_sentinel_for<_Iter> _I2, sized_sentinel_for<_Iter> _S2>
216 requires sized_sentinel_for<_Sent, _I2>
217 _LIBCPP_HIDE_FROM_ABI friend constexpr iter_difference_t<_I2>
218 operator-(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) {
231 return std::__unchecked_get<_Iter>(__x.__hold_) - std::__unchecked_get<_I2>(__y.__hold_);
236 return std::__unchecked_get<_Sent>(__x.__hold_) - std::__unchecked_get<_I2>(__y.__hold_);
248 template <indirectly_swappable<_Iter> _I2, class _S2>
250 iter_swap(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) noexcept(
251 noexcept(ranges::iter_swap(std::declval<const _Iter&>(), std::declval<const _I2&>()))) {
255 std::holds_alternative<_I2>(__y.__hold_), "Attempted to iter_swap a non-dereferenceable common_iterator");
256 return ranges::iter_swap(std::__unchecked_get<_Iter>(__x.__hold_), std::__unchecked_get<_I2>(__y.__hold_));