std::experimental::ranges::input_iterator_tag, (3) - Linux Manuals

std::experimental::ranges::input_iterator_tag,: std::experimental::ranges::input_iterator_tag,


std::experimental::ranges::input_iterator_tag, - std::experimental::ranges::input_iterator_tag,



Defined in header <experimental/ranges/iterator>
struct input_iterator_tag };
struct output_iterator_tag };
struct forward_iterator_tag : public input_iterator_tag };
struct bidirectional_iterator_tag : public forward_iterator_tag };
struct random_access_iterator_tag : public bidirectional_iterator_tag };

Defines the category of an iterator. Each tag is an empty type and corresponds to
one of the five iterator categories:

  input_iterator_tag corresponds to InputIterator.
  forward_iterator_tag corresponds to ForwardIterator.
  bidirectional_iterator_tag corresponds to BidirectionalIterator.
  random_access_iterator_tag corresponds to RandomAccessIterator.
  output_iterator_tag corresponds to OutputIterator; it is not used and provided
 solely for backward compatiblity.

Iterator category tags carry information that can be used to select the most
efficient algorithms for the specific requirement set that is implied by the
category. However, concept-based overloading is preferred.

For every InputIterator type I, ranges::iterator_category_t<I> must be defined to be
an alias for the most specific category tag that describes the iterator's behavior.


 This section is incomplete
 Reason: no example

See also

forward_iterator_tag       empty class types used to indicate iterator categories
bidirectional_iterator_tag (class)
                     compatibility traits class that collects an iterator’s
iterator_traits            associated types
                     (alias template)