Ни одна из перегрузок insert_after не должна влиять на действительность итераторов и ссылок, и erase_after должна делать недействительными только итераторы и ссылки на стертые элементы. Если во время сгенерировано исключение insert_after , никакого эффекта не будет. Вставка n элементов в a forward_list линейна по n, а количество вызовов конструктора копирования или перемещения T точно равно n. Стирание n элементов из a forward_list линейно по, n и количество вызовов деструктора типа T точно равно n.
template <class... Args> reference emplace_front(Args&&... args);
Effects: Вставляет объект типа, созданного value_type с помощью, value_type(std::forward<Args>(args)...) в начало списка.
void push_front(const T& x);
void push_front(T&& x);
void pop_front();
iterator insert_after(const_iterator position, const T& x);
iterator insert_after(const_iterator position, T&& x);
Requires: position является before_begin() или является разыменяемым итератором в диапазоне [begin(), end()).
iterator insert_after(const_iterator position, size_type n, const T& x);
Requires: position является before_begin() или является разыменяемым итератором в диапазоне [begin(), end()).
template <class InputIterator>
iterator insert_after(const_iterator position, InputIterator first, InputIterator last);
Requires: position является before_begin() или является разыменяемым итератором в диапазоне [begin(), end()). first и last не являются итераторами в *this.
iterator insert_after(const_iterator position, initializer_list<T> il);
template <class... Args>
iterator emplace_after(const_iterator position, Args&&... args);
Requires: position является before_begin() или является разыменяемым итератором в диапазоне [begin(), end()).
Effects: Вставляет объект типа, созданного value_type с помощью value_type(std::forward<Args>(args)...) after position.
iterator erase_after(const_iterator position);
Returns: Итератор, указывающий на элемент, следующий за тем, который был удален, или end() если такой элемент не существует.
iterator erase_after(const_iterator position, const_iterator last);
void resize(size_type sz);
Effects: Если sz < distance(begin(), end()), стирает последние distance(begin(), end()) - sz элементы из списка. В противном случае sz - distance(begin(), end()) вставляет элементы, вставленные по умолчанию, в конец списка.
void resize(size_type sz, const value_type& c);
Effects: Если sz < distance(begin(), end()), стирает последние distance(begin(), end()) - sz элементы из списка. В противном случае вставляет sz - distance(begin(), end()) копии c в конец списка.
void clear() noexcept;