9 Iterators library [iterators]

9.7 Iterator adaptors [iterators.predef]

9.7.2 Insert iterators [iterators.insert]

9.7.2.6 insert_iterator operations [insert.iter.ops]

9.7.2.6.1 insert_iterator constructor [insert.iter.cons]

insert_iterator();

Effects: Value-initializes container and iter.

insert_iterator(Container& x, iterator_t<Container> i);

Requires: i is an iterator into x.

Effects: Initializes container with addressof(x) and iter with i.

9.7.2.6.2 insert_iterator::operator= [insert.iter.op=]

insert_iterator& operator=(const value_type_t<Container>& value);

Effects: Equivalent to:

iter = container->insert(iter, value);
++iter;

Returns: *this.

insert_iterator& operator=(value_type_t<Container>&& value);

Effects: Equivalent to:

iter = container->insert(iter, std::move(value));
++iter;

Returns: *this.

9.7.2.6.3 insert_iterator::operator* [insert.iter.op*]

insert_iterator& operator*();

Returns: *this.

9.7.2.6.4 insert_iterator::operator++ [insert.iter.op++]

insert_iterator& operator++(); insert_iterator& operator++(int);

Returns: *this.

9.7.2.6.5 inserter [inserter]

template <class Container> insert_iterator<Container> inserter(Container& x, iterator_t<Container> i);

Returns: insert_iterator<Container>(x, i).