Lines Matching refs:_Sent
37 template<input_or_output_iterator _Iter, sentinel_for<_Iter> _Sent>
38 requires (!same_as<_Iter, _Sent> && copyable<_Iter>)
55 variant<_Iter, _Sent> __hold_;
60 constexpr common_iterator(_Sent __s) : __hold_(in_place_type<_Sent>, _VSTD::move(__s)) {} in common_iterator()
63 requires convertible_to<const _I2&, _Iter> && convertible_to<const _S2&, _Sent>
65 : __hold_([&]() -> variant<_Iter, _Sent> { in common_iterator()
68 return variant<_Iter, _Sent>{in_place_index<0>, _VSTD::__unchecked_get<0>(__other.__hold_)}; in common_iterator()
69 return variant<_Iter, _Sent>{in_place_index<1>, _VSTD::__unchecked_get<1>(__other.__hold_)}; in common_iterator()
73 requires convertible_to<const _I2&, _Iter> && convertible_to<const _S2&, _Sent> &&
74 assignable_from<_Iter&, const _I2&> && assignable_from<_Sent&, const _S2&>
149 requires sentinel_for<_Sent, _I2>
163 return _VSTD::__unchecked_get<_Sent>(__x.__hold_) == _VSTD::__unchecked_get<_I2>(__y.__hold_);
167 requires sentinel_for<_Sent, _I2> && equality_comparable_with<_Iter, _I2>
184 return _VSTD::__unchecked_get<_Sent>(__x.__hold_) == _VSTD::__unchecked_get<_I2>(__y.__hold_);
188 requires sized_sentinel_for<_Sent, _I2>
205 return _VSTD::__unchecked_get<_Sent>(__x.__hold_) - _VSTD::__unchecked_get<_I2>(__y.__hold_);
226 template<class _Iter, class _Sent>
227 struct incrementable_traits<common_iterator<_Iter, _Sent>> {
236 template<class _Iter, class _Sent>
237 concept __common_iter_has_ptr_op = requires(const common_iterator<_Iter, _Sent>& __a) {
246 template<class _Iter, class _Sent>
247 requires __common_iter_has_ptr_op<_Iter, _Sent>
248 struct __arrow_type_or_void<_Iter, _Sent> {
249 using type = decltype(declval<const common_iterator<_Iter, _Sent>&>().operator->());
252 template<input_iterator _Iter, class _Sent>
253 struct iterator_traits<common_iterator<_Iter, _Sent>> {
260 using pointer = typename __arrow_type_or_void<_Iter, _Sent>::type;