Lines Matching defs:forward_iterator
123 class forward_iterator
128 template <class U> friend class forward_iterator;
136 TEST_CONSTEXPR forward_iterator() : it_() {}
137 TEST_CONSTEXPR explicit forward_iterator(It it) : it_(it) {}
140 TEST_CONSTEXPR forward_iterator(const forward_iterator<U>& u) : it_(u.it_), tracker_(u.tracker_) {}
143 TEST_CONSTEXPR_CXX14 forward_iterator(forward_iterator<U>&& other)
150 TEST_CONSTEXPR_CXX14 forward_iterator& operator++() {++it_; return *this;}
151 TEST_CONSTEXPR_CXX14 forward_iterator operator++(int) {return forward_iterator(it_++);}
153 friend TEST_CONSTEXPR bool operator==(const forward_iterator& x, const forward_iterator& y) {return x.it_ == y.it_;}
154 friend TEST_CONSTEXPR bool operator!=(const forward_iterator& x, const forward_iterator& y) {return x.it_ != y.it_;}
156 friend TEST_CONSTEXPR It base(const forward_iterator& i) { return i.it_; }
163 forward_iterator(It) -> forward_iterator<It>;
810 std::conditional_t<std::forward_iterator<It>, std::forward_iterator_tag,
845 requires std::forward_iterator<It>
1311 } else if constexpr (std::forward_iterator<Base>) {
1368 // to satisfy forward_iterator
1370 requires std::forward_iterator<Base> {
1464 using ForwardProxyIterator = ProxyIterator<forward_iterator<Iter>>;
1662 using forward_iterator_list = concatenate_t<bidirectional_iterator_list<Ptr>, type_list<forward_iterator<Ptr> > >;