Lines Matching defs:common_iterator
51 class common_iterator {
67 friend class common_iterator;
70 _LIBCPP_HIDE_FROM_ABI common_iterator()
74 _LIBCPP_HIDE_FROM_ABI constexpr common_iterator(_Iter __i) : __hold_(in_place_type<_Iter>, std::move(__i)) {}
75 _LIBCPP_HIDE_FROM_ABI constexpr common_iterator(_Sent __s) : __hold_(in_place_type<_Sent>, std::move(__s)) {}
79 _LIBCPP_HIDE_FROM_ABI constexpr common_iterator(const common_iterator<_I2, _S2>& __other)
82 !__other.__hold_.valueless_by_exception(), "Attempted to construct from a valueless common_iterator");
91 _LIBCPP_HIDE_FROM_ABI common_iterator& operator=(const common_iterator<_I2, _S2>& __other) {
93 !__other.__hold_.valueless_by_exception(), "Attempted to assign from a valueless common_iterator");
115 std::holds_alternative<_Iter>(__hold_), "Attempted to dereference a non-dereferenceable common_iterator");
123 std::holds_alternative<_Iter>(__hold_), "Attempted to dereference a non-dereferenceable common_iterator");
134 std::holds_alternative<_Iter>(__hold_), "Attempted to dereference a non-dereferenceable common_iterator");
145 _LIBCPP_HIDE_FROM_ABI common_iterator& operator++() {
147 std::holds_alternative<_Iter>(__hold_), "Attempted to increment a non-dereferenceable common_iterator");
154 std::holds_alternative<_Iter>(__hold_), "Attempted to increment a non-dereferenceable common_iterator");
173 operator==(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) {
175 !__x.__hold_.valueless_by_exception(), "Attempted to compare a valueless common_iterator");
177 !__y.__hold_.valueless_by_exception(), "Attempted to compare a valueless common_iterator");
194 operator==(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) {
196 !__x.__hold_.valueless_by_exception(), "Attempted to compare a valueless common_iterator");
198 !__y.__hold_.valueless_by_exception(), "Attempted to compare a valueless common_iterator");
218 operator-(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) {
220 !__x.__hold_.valueless_by_exception(), "Attempted to subtract from a valueless common_iterator");
222 !__y.__hold_.valueless_by_exception(), "Attempted to subtract a valueless common_iterator");
240 iter_move(const common_iterator& __i) noexcept(noexcept(ranges::iter_move(std::declval<const _Iter&>())))
244 std::holds_alternative<_Iter>(__i.__hold_), "Attempted to iter_move a non-dereferenceable common_iterator");
250 iter_swap(const common_iterator& __x, const common_iterator<_I2, _S2>& __y) noexcept(
253 std::holds_alternative<_Iter>(__x.__hold_), "Attempted to iter_swap a non-dereferenceable common_iterator");
255 std::holds_alternative<_I2>(__y.__hold_), "Attempted to iter_swap a non-dereferenceable common_iterator");
261 struct incrementable_traits<common_iterator<_Iter, _Sent>> {
271 concept __common_iter_has_ptr_op = requires(const common_iterator<_Iter, _Sent>& __a) { __a.operator->(); };
281 using type = decltype(std::declval<const common_iterator<_Iter, _Sent>&>().operator->());
285 struct iterator_traits<common_iterator<_Iter, _Sent>> {