forward_list — это популярный контейнер последовательности. Контейнер — это объект, который содержит данные того же типа. Контейнер forward_list реализован как односвязный список, следовательно, он обеспечивает однонаправленный последовательный доступ к своим данным.
forward_list не обеспечивает быстрый произвольный доступ, он поддерживает только последовательный доступ только в одном направлении. forward_list позволяет операции вставки и удаления в любом месте последовательности в постоянное время.
Элементы forward_list могут быть разбросаны по разным частям памяти. Контейнер хранит необходимую информацию, чтобы обеспечить последовательный доступ к его данным. forward_lists могут уменьшаться или расширяться по мере необходимости с обоих концов во время выполнения. Требование к памяти автоматически выполняется внутренним распределителем.
Форвардные списки нулевого размера также действительны. В этом случае forward_list.begin () и forward_list.end () указывают на одно и то же местоположение. Но поведение вызова front () не определено.
Определение
Ниже приведено определение std :: forward_list из заголовочного файла <forward_list>
template < class T, class Alloc = allocator<T> > class forward_list;
параметры
-
T — Тип содержащегося элемента.
T может быть заменен любым другим типом данных, включая определенный пользователем тип.
-
Alloc — Тип объекта-распределителя.
По умолчанию используется шаблон класса распределителя, который определяет простейшую модель выделения памяти и не зависит от значения.
T — Тип содержащегося элемента.
T может быть заменен любым другим типом данных, включая определенный пользователем тип.
Alloc — Тип объекта-распределителя.
По умолчанию используется шаблон класса распределителя, который определяет простейшую модель выделения памяти и не зависит от значения.
Типы участников
Следующие типы элементов могут использоваться в качестве параметров или типа возврата функциями-членами.
Sr.No. | Типы участников | Определение |
---|---|---|
1 | тип ценности | T (Первый параметр шаблона) |
2 | allocator_type | Alloc (Второй параметр шаблона) |
3 | ссылка | тип ценности& |
4 | const_reference | const value_type & |
5 | указатель | тип ценности* |
6 | const_pointer | const value_type * |
7 | итератор | итератор произвольного доступа к value_type |
8 | const_iterator | итератор с произвольным доступом к const value_type |
9 | size_type | size_t |
10 | difference_type | ptrdiff_t |
Функции из <forward_list>
Ниже приведен список всех методов из заголовка <forward_list>.
Создает пустой forward_list с нулевыми элементами.
Создает новый forward_list с n элементами и присваивает val каждому элементу forward_list.
Создает новый forward_list с n элементами и присваивает нулевое значение каждому элементу forward_list.
Создает forward_list с таким количеством элементов, как в диапазоне от первого до последнего .
Создает forward_list с копией каждого элемента, присутствующего в существующем списке.
Создает forward_list с содержимым other, используя семантику move.
Создает forward_list из списка инициализации.
Уничтожает объект forward_list, освобождая его память.
Присваивает новое значение forward_list, заменяя старые.
Присваивает новые значения forward_list, заменяя старые.
Присваивает новые значения forward_list, заменяя старые.
Возвращает итератор произвольного доступа, который указывает на позицию перед первым элементом списка forward_list.
Возвращает итератор произвольного доступа, который указывает на первый элемент списка forward_list.
Возвращает постоянный итератор произвольного доступа, который указывает на позицию перед первым элементом списка forward_list.
Возвращает постоянный итератор произвольного доступа, который указывает на начало списка forward_list.
Возвращает постоянный итератор произвольного доступа, который указывает на конец списка forward_list.
Уничтожает forward_list путем удаления всех элементов из forward_list и устанавливает размер forward_list равным нулю.
Создает и вставляет новый элемент после позиции в forward_list и увеличивает размер forward_list на единицу.
Вставляет новый элемент в начало списка forward_list и увеличивает размер forward_list на единицу.
Проверяет, является ли forward_list пустым или нет.
Возвращает итератор произвольного доступа, который указывает на последний элемент списка forward_list.
Удаляет один элемент после позиции из списка forward_list.
Удаляет диапазон элемента из списка forward_list.
Возвращает ссылку на первый элемент списка forward_list.
Возвращает распределитель, связанный с forward_list
Расширяет итератор, вставляя новый элемент после позиции в forward_list
Расширяет итератор, вставляя новый элемент после позиции в forward_list
Расширяет итератор, вставляя новый элемент после позиции в forward_list
Расширяет итератор, вставляя новый элемент после позиции в forward_list
Расширяет итератор, вставляя новый элемент после позиции в forward_list
Возвращает максимальное количество элементов, которое может быть сохранено в forward_list.
Объединяет два отсортированных forward_lists в один.
Объединяет два отсортированных forward_lists в один.
Объединяет два отсортированных forward_lists в один.
Объединяет два отсортированных forward_lists в один, используя семантику перемещения.
Назначает новое содержимое в forward_list, заменяя старые.
Назначьте новое содержимое в forward_list, заменив старое.
Назначьте новое содержимое в forward_list, заменив старое.
Удаляет первый элемент из списка forward_list.
Вставляет новый элемент в начале списка forward_list.
Вставляет новый элемент в начале списка forward_list.
удаляет элемент (ы) из списка forward_list, который соответствует значению.
удаляет элементы из списка forward_list, которые удовлетворяют условию
Изменяет размер forward_list.
Изменяет размер forward_list.
Меняет порядок элементов, присутствующих в forward_list.
Сортирует элементы списка forward_list.
Сортирует элементы списка forward_list.
Передает все элементы из списка forward_list в * this.
Передает все элементы из списка forward_list x в * this с помощью семантики перемещения.
Переводит элемент, на который указывает итератор i, из forward_list x в * this .
Переводит элемент, на который указывает итератор i, из forward_list x в * this с использованием семантики перемещения.
Переводит элементы в диапазоне от первого до последнего от x до * this .
Передает элементы в диапазоне от первого до последнего от x до * this , используя семантику перемещения.
Обменивается содержимым forward_list с содержимым другого forward_list x .
Удаляет все последовательные повторяющиеся элементы из списка forward_list.
Удаляет все последовательные повторяющиеся элементы из списка forward_list.
Проверяет, равны ли два forward_lists.
Проверяет, равны ли два forward_lists.
Проверяет, меньше ли первый forward_list, чем другие, или нет.
Проверяет, является ли первый forward_list меньше или равен другому или нет.
Проверяет, больше ли первый forward_list, чем другие, или нет.
Проверяет, является ли первый forward_list больше или равен другому или нет.
Обменяет содержимое двух forward_list.