STD::BACK_INSERT_ITERATOR(3cxx)
πΈ std::back_insert_iterator< _Container > β the 3cxx manual page πΈ
okay so bestie, welcome to the 3cxx manual page for std::back_insert_iterator< _Container > β¨ This one is short, iconic, and absolutely turns assignment into insertion. No cap. Letβs get into it π
π NAME π
std::back_insert_iterator< _Container > β Turns assignment into insertion.
β¨ SYNOPSIS β¨
#include <iterator>
Inherits std::iterator< output_iterator_tag, void, void, void, void >.
π± Public Types
typedef _Container container_typeβ A nested typedef for the type of whatever container you used.using difference_type = ptrdiff_tβ the type is literally just listed here, serving its little purpose πtypedef output_iterator_tag iterator_categoryβ One of the tag types.typedef void pointerβ This type represents a pointer-to-value_type.typedef void referenceβ This type represents a reference-to-value_type.typedef void value_typeβ The type 'pointed to' by the iterator.
π«Ά Public Member Functions
constexpr back_insert_iterator (_Container &__x)β The only way to create this iterator is with a container.constexpr back_insert_iterator & operator* ()β Simply returns*this.constexpr back_insert_iterator & operator++ ()β Simply returns*this. (This iterator does not move.)constexpr back_insert_iterator operator++ (int)β Simply returns*this. (This iterator does not move.)constexpr back_insert_iterator & operator= (const typename _Container::value_type &__value)β assignment overload, const-ref flavor.constexpr back_insert_iterator & operator= (typename _Container::value_type &&__value)β assignment overload, rvalue flavor.
π Protected Attributes
_Container * containerβ protected attribute energy, bestie π«Ά
π Detailed Description
template<typename _Container>
class std::back_insert_iterator< _Container >
The vibe is literally: Turns assignment into insertion.
These are output iterators, constructed from a container-of-T. Assigning a T to the iterator appends it to the container using push_back.
Tip: Using the back_inserter function to create these iterators can save typing.
𧬠Member Typedef Documentation
template<typename _Container > typedef _Container std::back_insert_iterator< _Container >::container_typeβ A nested typedef for the type of whatever container you used.typedef output_iterator_tag std::iterator< output_iterator_tag , void , void , void , void >::iterator_category [inherited]β One of the tag types.typedef void std::iterator< output_iterator_tag , void , void , void , void >::pointer [inherited]β This type represents a pointer-to-value_type.typedef void std::iterator< output_iterator_tag , void , void , void , void >::reference [inherited]β This type represents a reference-to-value_type.typedef void std::iterator< output_iterator_tag , void , void , void , void >::value_type [inherited]β The type 'pointed to' by the iterator.
π Constructor & Destructor Documentation
template<typename _Container > constexpr std::back_insert_iterator< _Container >::back_insert_iterator (_Container & __x) [inline], [explicit], [constexpr]β The only way to create this iterator is with a container.
π Member Function Documentation
template<typename _Container > constexpr back_insert_iterator & std::back_insert_iterator< _Container >::operator* () [inline], [constexpr]β Simply returns*this.template<typename _Container > constexpr back_insert_iterator & std::back_insert_iterator< _Container >::operator++ () [inline], [constexpr]β Simply returns*this. (This iterator does not move.)template<typename _Container > constexpr back_insert_iterator std::back_insert_iterator< _Container >::operator++ (int) [inline], [constexpr]β Simply returns*this. (This iterator does not move.)template<typename _Container > constexpr back_insert_iterator & std::back_insert_iterator< _Container >::operator= (const typename _Container::value_type & __value) [inline], [constexpr]- Parameters:
__valueβ An instance of whatever typecontainer_type::const_referenceis; presumably a reference-to-constTforcontainer<T>. - Returns: This iterator, for chained operations.
- Parameters:
This kind of iterator doesn't really have a position in the container (you can think of the position as being permanently at the end, if you like). Assigning a value to the iterator will always append the value to the end of the container.
βοΈ Author
Generated automatically by Doxygen for libstdc++ from the source code.
Sign-off tea β: source/version is libstdc++ (the footer text shown is exactly libstdstd::back_inse...r< _ Container >(3cxx) π), and thereβs no separate date printed in this copy β so Iβm not making one up, fr fr. Bye bestie, go insert something at the back πβ¨
π¦ where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms