3.7 KiB
[front.insert.iterator]
24 Iterators library [iterators]
24.5 Iterator adaptors [predef.iterators]
24.5.2 Insert iterators [insert.iterators]
24.5.2.3 Class template front_insert_iterator [front.insert.iterator]
24.5.2.3.1 General [front.insert.iter.general]
namespace std {templateclass front_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 front_insert_iterator(Container& x); constexpr front_insert_iterator& operator=(const typename Container::value_type& value); constexpr front_insert_iterator& operator=(typename Container::value_type&& value); constexpr front_insert_iterator& operator*(); constexpr front_insert_iterator& operator++(); constexpr front_insert_iterator operator++(int); };}
24.5.2.3.2 Operations [front.insert.iter.ops]
constexpr explicit front_insert_iterator(Container& x);
Effects: Initializescontainer with addressof(x).
constexpr front_insert_iterator& operator=(const typename Container::value_type& value);
Effects: As if by: container->push_front(value);
Returns: *this.
constexpr front_insert_iterator& operator=(typename Container::value_type&& value);
Effects: As if by: container->push_front(std::move(value));
Returns: *this.
constexpr front_insert_iterator& operator*();
Returns: *this.
constexpr front_insert_iterator& operator++(); constexpr front_insert_iterator operator++(int);
Returns: *this.
24.5.2.3.3 front_inserter [front.inserter]
template<class Container> constexpr front_insert_iterator<Container> front_inserter(Container& x);
Returns: front_insert_iterator(x).