Библиотека C ++ - <forward_list>

Введение

forward_list - широко используемый контейнер последовательностей. Контейнер - это объект, содержащий данные одного типа. Контейнер forward_list реализован как односвязный список, поэтому он обеспечивает однонаправленный последовательный доступ к своим данным.

forward_list не обеспечивает быстрый произвольный доступ, он поддерживает только последовательный доступ только в одном направлении. forward_list позволяет выполнять операции вставки и удаления в любом месте последовательности в постоянное время.

Элементы forward_list могут быть разбросаны по разным частям памяти. Контейнер хранит необходимую информацию, чтобы обеспечить последовательный доступ к своим данным. forward_lists может сжиматься или расширяться по мере необходимости с обоих концов во время выполнения. Требования к хранилищу автоматически выполняются внутренним распределителем.

Также допустимы списки 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 - Тип объекта распределителя.

    По умолчанию используется шаблон класса распределителя, который определяет простейшую модель распределения памяти и не зависит от значения.

Типы участников

Следующие типы членов могут использоваться как параметры или возвращаемый тип функциями-членами.

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 разница_тип ptrdiff_t

Функции из <forward_list>

Ниже приведен список всех методов из заголовка <forward_list>.

Конструкторы

Sr. No. Метод и описание
1 forward_list :: forward_list конструктор по умолчанию

Создает пустой forward_list с нулевыми элементами.

2 forward_list :: forward_list конструктор заполнения

Создает новый forward_list из n элементов и присваивает val каждому элементу forward_list.

3 forward_list :: forward_list конструктор заполнения

Создает новый forward_list из n элементов и присваивает нулевое значение каждому элементу forward_list.

4 forward_list :: конструктор диапазона forward_list

Создает forward_list с таким количеством элементов, как в диапазоне от первого до последнего .

5 forward_list :: forward_list конструктор копирования

Создает forward_list с копией каждого элемента, присутствующего в существующем списке.

6 forward_list :: forward_list конструктор перемещения

Создает forward_list с содержимым other, используя семантику перемещения.

7 forward_list :: forward_list конструктор списка инициализаторов

Создает forward_list из списка инициализации.

Деструктор

Sr. No. Метод и описание
1 forward_list :: ~ forward_list

Уничтожает объект forward_list, освобождая его память.

Функции-члены

Sr. No. Метод и описание
1 forward_list :: назначить версию диапазона

Присваивает новое значение forward_list, заменяя старые.

2 forward_list :: назначить версию заполнения

Присваивает новые значения для forward_list, заменяя старые.

3 forward_list :: назначить версию списка инициализаторов

Присваивает новые значения для forward_list, заменяя старые.

4 forward_list :: before_begin

Возвращает итератор произвольного доступа, который указывает на позицию перед первым элементом forward_list.

5 forward_list :: begin

Возвращает итератор произвольного доступа, который указывает на первый элемент forward_list.

6 forward_list :: cbefore_begin

Возвращает постоянный итератор произвольного доступа, который указывает на позицию перед первым элементом forward_list.

7 forward_list :: cbegin

Возвращает постоянный итератор произвольного доступа, который указывает на начало forward_list.

8 forward_list :: cend

Возвращает постоянный итератор произвольного доступа, который указывает на конец forward_list.

9 forward_list :: clear

Уничтожает forward_list, удаляя все элементы из forward_list, и устанавливает размер forward_list равным нулю.

10 forward_list :: emplace_after

Создает и вставляет новый элемент после позиции в forward_list и увеличивает размер forward_list на единицу.

11 forward_list :: emplace_front

Вставляет новый элемент в начало forward_list и увеличивает размер forward_list на единицу.

12 forward_list :: пусто

Проверяет, пуст ли forward_list.

13 forward_list :: конец

Возвращает итератор произвольного доступа, который указывает на последний элемент forward_list.

14 forward_list :: erase_after версия позиции

Удаляет один элемент после позиции из forward_list.

15 forward_list :: стереть версию диапазона

Удаляет диапазон элемента из forward_list.

16 forward_list :: front

Возвращает ссылку на первый элемент forward_list.

17 forward_list :: get_allocator

Возвращает распределитель, связанный с forward_list

18 forward_list :: insert_after одноэлементная версия

Расширяет итератор, вставляя новый элемент после позиции в forward_list

19 forward_list :: insert_after переместить версию

Расширяет итератор, вставляя новый элемент после позиции в forward_list

20 forward_list :: insert_after версия заполнения

Расширяет итератор, вставляя новый элемент после позиции в forward_list

21 год forward_list :: insert_after версия диапазона

Расширяет итератор, вставляя новый элемент после позиции в forward_list

22 forward_list :: insert_after версия списка инициализатора

Расширяет итератор, вставляя новый элемент после позиции в forward_list

23 forward_list :: max_size

Возвращает максимальное количество элементов, которое может содержать forward_list.

24 forward_list :: слияние

Объединяет два отсортированных forward_lists в один.

25 forward_list :: merge move version

Объединяет два отсортированных forward_lists в один.

26 forward_list :: функция сравнения слияния

Объединяет два отсортированных forward_lists в один.

27 forward_list :: merge функция сравнения переместить версию

Объединяет два отсортированных forward_lists в один, используя семантику перемещения.

28 forward_list :: operator = копировать версию

Добавляет новое содержимое в forward_list, заменяя старое.

29 forward_list :: operator = переместить версию

Назначьте новое содержимое forward_list, заменив старое.

30 forward_list :: operator = версия списка инициализатора

Назначьте новое содержимое forward_list, заменив старое.

31 год forward_list :: pop_front

Удаляет первый элемент из forward_list.

32 forward_list :: push_front копия версии

Вставляет новый элемент в начало forward_list.

33 forward_list :: push_front версия перемещения

Вставляет новый элемент в начало forward_list.

34 forward_list :: remove

удаляет элемент (ы) из forward_list, соответствующий значению.

35 год forward_list :: remove_if

удаляет элементы из forward_list, удовлетворяющие условию.

36 forward_list :: resize

Изменяет размер forward_list.

37 forward_list :: изменение размера значения версии

Изменяет размер forward_list.

38 forward_list :: reverse

Изменяет порядок элементов, присутствующих в forward_list.

39 forward_list :: sort

Сортирует элементы forward_list.

40 forward_list :: функция сравнения сортировки

Сортирует элементы forward_list.

41 год forward_list :: splice_after

Переносит все элементы из forward_list в * this.

42 forward_list :: splice_after версия перемещения

Переносит все элементы из forward_list x в * this , используя семантику перемещения.

43 год forward_list :: splice_after одиночный элемент

Передает элемент, на который указывает итератор i, из forward_list x в * this .

44 forward_list :: splice_after версия перемещения одного элемента

Переносит элемент, на который указывает итератор i, из forward_list x в * this , используя семантику перемещения.

45 forward_list :: splice_after версия диапазона

Переносит элементы в диапазоне от первого до последнего от x до * this .

46 forward_list :: диапазон сращивания и версия перемещения

Переносит элементы в диапазоне от первого до последнего от x до * this , используя семантику перемещения.

47 forward_list :: swap

Меняет содержимое forward_list на содержимое другого forward_list x .

48 forward_list :: уникальный

Удаляет все последовательные повторяющиеся элементы из forward_list.

49 forward_list :: уникальный

Удаляет все последовательные повторяющиеся элементы из forward_list.

Перегруженные функции, не являющиеся членами

Sr. No. Метод и описание
1 оператор ==

Проверяет, равны ли два forward_lists.

2 оператор! =

Проверяет, равны ли два forward_lists.

3 оператор <

Проверяет, меньше ли first forward_list другого или нет.

4 оператор <=

Проверяет, меньше ли first forward_list другому или нет.

5 оператор>

Проверяет, больше ли first forward_list другого или нет.

6 оператор> =

Проверяет, больше ли first forward_list, чем other, или нет.

7 замена

Меняет содержимое двух forward_list.