[insert.iter.general] # 24 Iterators library [[iterators]](./#iterators) ## 24.5 Iterator adaptors [[predef.iterators]](predef.iterators#insert.iter.general) ### 24.5.2 Insert iterators [[insert.iterators]](insert.iterators#insert.iter.general) #### 24.5.2.4 Class template insert_iterator [[insert.iterator]](insert.iterator#insert.iter.general) #### 24.5.2.4.1 General [insert.iter.general] [🔗](#lib:insert_iterator) namespace std {templateclass insert_iterator {protected: Container* container; ranges::iterator_t iter; 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 insert_iterator(Container& x, ranges::iterator_t i); constexpr insert_iterator& operator=(const typename Container::value_type& value); constexpr insert_iterator& operator=(typename Container::value_type&& value); constexpr insert_iterator& operator*(); constexpr insert_iterator& operator++(); constexpr insert_iterator& operator++(int); };}