home | help
std::experi...es::Iterator(3)  C++ Standard Libary std::experi...es::Iterator(3)

NAME
     std::experimental::ranges::Iterator - std::experimental::ranges::Iterator

Synopsis
	Defined in header <experimental/ranges/iterator>
	template< class I >

	concept bool Iterator =
	    requires(I i) {					     (ranges TS)
		{ *i } -> auto&&; // Requires: i is dereferenceable
	    } &&

	    WeaklyIncrementable<I>;

	The  Iterator  concept forms the basis of the iterator concept taxonomy;
     every
	iterator satisfies the Iterator requirements.

	Equality preservation

	An expression is equality preserving if  it  results  in  equal  outputs
     given equal
	inputs.

	  * The inputs to an expression consist of its operands.
	  *  The outputs of an expression consist of its result and all operands
     modified by
	    the expression (if any).

	Every expression required to be equality preserving is further	required
     to be
	stable:  two  evaluations  of such an expression with the same input ob-
     jects must have
	equal outputs absent any explicit intervening modification of those  in-
     put objects.

	Unless	noted  otherwise, every expression used in a requires-expression
     is required
	to be equality preserving and stable, and the evaluation of the  expres-
     sion may only
	modify its non-constant operands. Operands that are constant must not be
     modified.

Notes
	Iterator  itself  only specifies operations for dereferencing and incre-
     menting an
	iterator. Most algorithms will require additional operations, for  exam-
     ple:

	  * comparing iterators with sentinels (see Sentinel);
	  * reading values from an iterator (see Readable and InputIterator);
	  * writing values to an iterator (see Writable and OutputIterator);
	  *  a	richer	set of iterator movements (see ForwardIterator, Bidirec-
     tionalIterator,
	    RandomAccessIterator).

	The -> auto&& constraint implies that the result type of  the  deference
     cannot be
	void.

http://cppreference.com 	   2024.06.10	   std::experi...es::Iterator(3)

home | help