Учебники

Библиотека C ++ —

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.