SeqAn3
iterator

The <iterator> header from C++20's standard library. More...

Collaboration diagram for iterator:

Classes

interface  std::BidirectionalIterator
 The concept BidirectionalIterator refines std::ForwardIterator by adding the ability to move an iterator backward. More...
 
interface  std::ForwardIterator
 The InputIterator concept is a refinement of std::Iterator, adding the requirement that the referenced values can be read (via std::Readable) and the requirement that the iterator category tag be present. More...
 
interface  std::Incrementable
 The concept Incrementable specifies the requirements on a type that can be incremented (with the pre- and post-increment operators). The increment operations (including those required by std::WeaklyIncrementable) are required to be equality-preserving, and the type is required to be std::EqualityComparable. More...
 
interface  std::InputIterator
 The InputIterator concept is a refinement of std::Iterator, adding the requirement that the referenced values can be read (via std::Readable) and the requirement that the iterator category tag be present. More...
 
interface  std::Iterator
 The Iterator concept forms the basis of the iterator concept taxonomy; every iterator satisfies the Iterator requirements. More...
 
interface  std::OutputIterator
 The OutputIterator concept is a refinement of std::Iterator, adding the requirement that it can be used to write values of values of type and value category encoded by T (via std::Writable). std::EqualityComparable is not required. More...
 
interface  std::RandomAccessIterator
 The concept RandomAccessIterator refines std::BidirectionalIterator by adding support for constant time advancement with the +=, +, -=, and - operators, constant time computation of distance with -, and array notation with subscripting. More...
 
interface  std::Readable
 The concept Readable is satisfied by types that are readable by applying operator*, such as pointers, smart pointers, and iterators. More...
 
interface  std::Sentinel
 The Sentinel concept specifies the relationship between an std::Iterator type and a std::Semiregular type whose values denote a range. More...
 
interface  std::SizedSentinel
 The SizedSentinel concept specifies that an object of the iterator type I and an object of the sentinel type S can be subtracted to compute the distance between them in constant time. More...
 
interface  std::WeaklyIncrementable
 The concept WeaklyIncrementable specifies the requirements on a type that can be incremented (with the pre- and post-increment operators). The increment operations need not be equality-preserving, and the type need not be std::EqualityComparable. More...
 
interface  std::Writable
 The concept Writable<Out, T> specifies the requirements for writing a value whose type and value category are encoded by T into an iterator Out's referenced object. More...
 

Functions

template<typename container_t >
constexpr auto std::back_inserter (container_t &container)
 Create a std::back_insert_iterator for the argument. More...
 

Detailed Description

The <iterator> header from C++20's standard library.

Function Documentation

◆ back_inserter()

template<typename container_t >
constexpr auto std::back_inserter ( container_t &  container)

Create a std::back_insert_iterator for the argument.

Template Parameters
container_tType of the parameter; must have a push_back() member function.
Parameters
containerThe container on which to create the iterator.
Returns
The respective back insert iterator.

This function delegates to ranges::back_inserter from range-v3; it is more constrained than a possibly outdated one from the standard library.