Lines Matching refs:cpp20_iterator

33 struct cpp20_iterator {  struct
42 cpp20_iterator() = default; argument
43 explicit cpp20_iterator(T* ptr) : my_ptr(ptr) {} in cpp20_iterator() argument
47 cpp20_iterator& operator++() { in operator ++() argument
52 cpp20_iterator operator++(int) { in operator ++() argument
58 cpp20_iterator& operator--() in operator --() argument
65 cpp20_iterator operator--(int) in operator --() argument
73 cpp20_iterator& operator+=(difference_type n) in operator +=() argument
80 cpp20_iterator& operator-=(difference_type n) in operator -=() argument
93 friend bool operator==(const cpp20_iterator&, const cpp20_iterator&) = default; argument
95 friend auto operator<=>(const cpp20_iterator&, const cpp20_iterator&)
98 friend cpp20_iterator operator+(cpp20_iterator i, difference_type n) in operator +()
101 return cpp20_iterator(i.my_ptr + n); in operator +()
104 friend cpp20_iterator operator+(difference_type n, cpp20_iterator i) in operator +()
110 friend cpp20_iterator operator-(cpp20_iterator i, difference_type n) in operator -()
113 return cpp20_iterator(i.my_ptr - n); in operator -()
116 friend difference_type operator-(const cpp20_iterator& x, const cpp20_iterator& y) { in operator -()
295 cpp20_iterator<no_copy_move, Category> begin(elements.data()); in test_with_cpp20_iterator()
296 cpp20_iterator<no_copy_move, Category> end(elements.data() + n); in test_with_cpp20_iterator()
318 using cpp20_forward_iterator = cpp20_iterator<int, std::forward_iterator_tag>;
319 using cpp20_bidirectional_iterator = cpp20_iterator<int, std::bidirectional_iterator_tag>;
320 using cpp20_random_access_iterator = cpp20_iterator<int, std::random_access_iterator_tag>;