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 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 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