FreeBSD Manual Pages
std::experi...ardIterator(3) C++ Standard Libary std::experi...ardIterator(3) NAME std::experimental::ranges::ForwardIterator - std::experimen- tal::ranges::ForwardIterator Synopsis Defined in header <experimental/ranges/iterator> template < class I > concept bool ForwardIterator = InputIterator<I> && DerivedFrom<ranges::iterator_category_t<I>, (ranges TS) ranges::forward_iterator_tag> && Incrementable<I> && Sentinel<I, I>; The concept ForwardIterator<I> refines InputIterator by adding equality comparison and the multi-pass guarantee. The domain of == for forward iterators is that of iterators over the same underlying sequence, except that value-initialized iterators of the same type may be compared with each other and shall compare equal. Pointers and references obtained from a forward iterator into a range [i, s) must remain valid while [i, s) continues to denote a range. Let a and b be two deferenceable iterators of type I. ForwardItera- tor<I> is satisfied only if: * a == b implies ++a == ++b; and * The expression ([](X x){++x;}(a), *a) is equivalent to *a, i.e., incrementing a copy of a has no effect on the result of dereferencing a. This is known as the multi-pass guarantee. Notes A forward iterator cannot be "stashing": it cannot return a refer- ence to an object within itself, because such references would be invalidated by the destruction of the forward iterator. http://cppreference.com 2022.07.31 std::experi...ardIterator(3)
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::ranges::ForwardIterator&sektion=3&manpath=FreeBSD+Ports+15.0>
