std::front_insert_iterator< _Container > - Turns assignment into insertion.
Contents
Constructor & Destructor Documentation
template<typename_Container>constexprstd::front_insert_iterator<_Container>::front_insert_iterator(_Container&__x)[inline],[explicit],[constexpr]
The only way to create this iterator is with a 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.
Member Function Documentation
template<typename_Container>constexprfront_insert_iterator&std::front_insert_iterator<_Container>::operator*()[inline],[constexpr]
Simply returns *this.
template<typename_Container>constexprfront_insert_iterator&std::front_insert_iterator<_Container>::operator++()[inline],[constexpr]
Simply returns *this. (This iterator does not move.)
template<typename_Container>constexprfront_insert_iteratorstd::front_insert_iterator<_Container>::operator++(int)[inline],[constexpr]
Simply returns *this. (This iterator does not move.)
template<typename_Container>constexprfront_insert_iterator&std::front_insert_iterator<_Container>::operator=(consttypename_Container::value_type&__value)[inline],[constexpr]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.
Member Typedef Documentation
template<typename_Container>typedef_Containerstd::front_insert_iterator<_Container>::container_type
A nested typedef for the type of whatever container you used.
typedefoutput_iterator_tagstd::iterator<output_iterator_tag,void,void,void,void>::iterator_category[inherited]
One of the tagtypes.
typedefvoidstd::iterator<output_iterator_tag,void,void,void,void>::pointer[inherited]
This type represents a pointer-to-value_type.
typedefvoidstd::iterator<output_iterator_tag,void,void,void,void>::reference[inherited]
This type represents a reference-to-value_type.
typedefvoidstd::iterator<output_iterator_tag,void,void,void,void>::value_type[inherited]
The type 'pointed to' by the iterator.
Name
std::front_insert_iterator< _Container > - Turns assignment into insertion.
Synopsis
#include <iterator>
Inherits std::iterator<output_iterator_tag,void,void,void,void>.
PublicTypestypedef _Container container_type
A nested typedef for the type of whatever container you used.
usingdifference_type = ptrdiff_t
typedefoutput_iterator_tagiterator_category
One of the tagtypes.
typedefvoidpointer
This type represents a pointer-to-value_type.
typedefvoidreference
This type represents a reference-to-value_type.
typedefvoidvalue_type
The type 'pointed to' by the iterator.
PublicMemberFunctions
constexpr front_insert_iterator (_Container &__x)
The only way to create this iterator is with a container.
constexpr front_insert_iterator & operator* ()
Simply returns *this.
constexpr front_insert_iterator & operator++ ()
Simply returns *this. (This iterator does not move.)
constexpr front_insert_iteratoroperator++ (int)
Simply returns *this. (This iterator does not move.)
constexpr front_insert_iterator & operator= (const typename _Container::value_type &__value)
constexpr front_insert_iterator & operator= (typename _Container::value_type &&__value)
ProtectedAttributes
_Container * container