libstdc++: std::front_insert_iterator< _Container > Class Template Reference

libstdc++

std::front_insert_iterator< _Container > Class Template Reference
Iterators

`#include <stl_iterator.h>`

Inheritance diagram for std::front_insert_iterator< _Container >:
[legend]

## Public Types
typedef _Container | container_type
using | 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_iterator & | operator* ()
constexpr front_insert_iterator & | operator++ ()
constexpr front_insert_iterator | operator++ (int)
constexpr front_insert_iterator & | operator= (const typename _Container::value_type &__value)
constexpr front_insert_iterator & | operator= (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 778 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 786 of file bits/stl_iterator.h.

## ◆ difference_type

template<typename _Container>

using std::front_insert_iterator< _Container >::difference_type

Definition at line 788 of file bits/stl_iterator.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 132 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 138 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 140 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 134 of file stl_iterator_base_types.h.

## Constructor & Destructor Documentation

## ◆ front_insert_iterator()

template<typename _Container>

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 793 of file bits/stl_iterator.h.

References std::__addressof().

## Member Function Documentation

## ◆ operator*()

template<typename _Container>

front_insert_iterator & std::front_insert_iterator< _Container >::operator* | ( |  | ) |
| inlinenodiscardconstexpr

Simply returns *this.

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

## ◆ operator++() [1/2]

template<typename _Container>

front_insert_iterator & std::front_insert_iterator< _Container >::operator++ | ( |  | ) |
| inlineconstexpr

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

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

## ◆ operator++() [2/2]

template<typename _Container>

front_insert_iterator std::front_insert_iterator< _Container >::operator++ | ( | int |  | ) |
| inlineconstexpr

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

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

## ◆ operator=() [1/2]

template<typename _Container>

front_insert_iterator & std::front_insert_iterator< _Container >::operator= | ( | const typename _Container::value_type & | __value | ) |
| inlineconstexpr

Parameters

  __value | An 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 817 of file bits/stl_iterator.h.

## ◆ operator=() [2/2]

template<typename _Container>

front_insert_iterator & std::front_insert_iterator< _Container >::operator= | ( | typename _Container::value_type && | __value | ) |
| inlineconstexpr

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

## Member Data Documentation

## ◆ container

template<typename _Container>

_Container* std::front_insert_iterator< _Container >::container
| protected

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

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

- bits/stl_iterator.h