libstdc++
std::front_insert_iterator< _Container > Class Template Reference
Inheritance diagram for std::front_insert_iterator< _Container >:
[legend]

Public Types

typedef _Container container_type
 
typedef void difference_type
 
typedef output_iterator_tag iterator_category
 
typedef void pointer
 
typedef void reference
 
typedef void value_type
 

Public Member Functions

constexpr front_insert_iterator (_Container &__x)
 
constexpr front_insert_iteratoroperator* ()
 
constexpr front_insert_iteratoroperator++ ()
 
constexpr front_insert_iterator operator++ (int)
 
constexpr front_insert_iteratoroperator= (const typename _Container::value_type &__value)
 
constexpr front_insert_iteratoroperator= (typename _Container::value_type &&__value)
 

Protected Attributes

_Container * container
 

Detailed Description

template<typename _Container>
class std::front_insert_iterator< _Container >

Turns assignment into insertion.

These are output iterators, constructed from a container-of-T. Assigning a T to the iterator prepends it to the container using push_front.

Tip: Using the front_inserter function to create these iterators can save typing.

Definition at line 719 of file bits/stl_iterator.h.

Member Typedef Documentation

◆ container_type

template<typename _Container >
typedef _Container std::front_insert_iterator< _Container >::container_type

A nested typedef for the type of whatever container you used.

Definition at line 727 of file bits/stl_iterator.h.

◆ difference_type

typedef void std::iterator< output_iterator_tag , void , void , void , void >::difference_type
inherited

Distance between iterators is represented as this type.

Definition at line 134 of file stl_iterator_base_types.h.

◆ iterator_category

typedef output_iterator_tag std::iterator< output_iterator_tag , void , void , void , void >::iterator_category
inherited

One of the tag types.

Definition at line 130 of file stl_iterator_base_types.h.

◆ pointer

typedef void std::iterator< output_iterator_tag , void , void , void , void >::pointer
inherited

This type represents a pointer-to-value_type.

Definition at line 136 of file stl_iterator_base_types.h.

◆ reference

typedef void std::iterator< output_iterator_tag , void , void , void , void >::reference
inherited

This type represents a reference-to-value_type.

Definition at line 138 of file stl_iterator_base_types.h.

◆ value_type

typedef void std::iterator< output_iterator_tag , void , void , void , void >::value_type
inherited

The type "pointed to" by the iterator.

Definition at line 132 of file stl_iterator_base_types.h.

Constructor & Destructor Documentation

◆ front_insert_iterator()

template<typename _Container >
constexpr std::front_insert_iterator< _Container >::front_insert_iterator ( _Container &  __x)
inlineexplicitconstexpr

The only way to create this iterator is with a container.

Definition at line 736 of file bits/stl_iterator.h.

Member Function Documentation

◆ operator*()

template<typename _Container >
constexpr front_insert_iterator& std::front_insert_iterator< _Container >::operator* ( )
inlineconstexpr

Simply returns *this.

Definition at line 778 of file bits/stl_iterator.h.

◆ operator++() [1/2]

template<typename _Container >
constexpr front_insert_iterator& std::front_insert_iterator< _Container >::operator++ ( )
inlineconstexpr

Simply returns *this. (This iterator does not move.)

Definition at line 784 of file bits/stl_iterator.h.

◆ operator++() [2/2]

template<typename _Container >
constexpr front_insert_iterator std::front_insert_iterator< _Container >::operator++ ( int  )
inlineconstexpr

Simply returns *this. (This iterator does not move.)

Definition at line 790 of file bits/stl_iterator.h.

◆ operator=()

template<typename _Container >
constexpr front_insert_iterator& std::front_insert_iterator< _Container >::operator= ( const typename _Container::value_type &  __value)
inlineconstexpr
Parameters
__valueAn instance of whatever type container_type::const_reference is; presumably a reference-to-const T for container<T>.
Returns
This iterator, for chained operations.

This kind of iterator doesn't really have a position in the container (you can think of the position as being permanently at the front, if you like). Assigning a value to the iterator will always prepend the value to the front of the container.

Definition at line 760 of file bits/stl_iterator.h.


The documentation for this class was generated from the following file: