Files
2025-10-25 03:02:53 +03:00

3.6 KiB
Raw Permalink Blame History

[back.insert.iterator]

24 Iterators library [iterators]

24.5 Iterator adaptors [predef.iterators]

24.5.2 Insert iterators [insert.iterators]

24.5.2.2 Class template back_insert_iterator [back.insert.iterator]

24.5.2.2.1 General [back.insert.iter.general]

🔗

namespace std {templateclass back_insert_iterator {protected: Container* container; public:using iterator_category = output_iterator_tag; using value_type = void; using difference_type = ptrdiff_t; using pointer = void; using reference = void; using container_type = Container; constexpr explicit back_insert_iterator(Container& x); constexpr back_insert_iterator& operator=(const typename Container::value_type& value); constexpr back_insert_iterator& operator=(typename Container::value_type&& value); constexpr back_insert_iterator& operator*(); constexpr back_insert_iterator& operator++(); constexpr back_insert_iterator operator++(int); };}

24.5.2.2.2 Operations [back.insert.iter.ops]

🔗

constexpr explicit back_insert_iterator(Container& x);

1

#

Effects: Initializescontainer with addressof(x).

🔗

constexpr back_insert_iterator& operator=(const typename Container::value_type& value);

2

#

Effects: As if by: container->push_back(value);

3

#

Returns: *this.

🔗

constexpr back_insert_iterator& operator=(typename Container::value_type&& value);

4

#

Effects: As if by: container->push_back(std::move(value));

5

#

Returns: *this.

🔗

constexpr back_insert_iterator& operator*();

6

#

Returns: *this.

🔗

constexpr back_insert_iterator& operator++(); constexpr back_insert_iterator operator++(int);

7

#

Returns: *this.

24.5.2.2.3 back_inserter [back.inserter]

🔗

template<class Container> constexpr back_insert_iterator<Container> back_inserter(Container& x);

1

#

Returns: back_insert_iterator(x).