Библиотека 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. |