Biblioteca C ++ - <forward_list>

Introducción

forward_list es un contenedor de secuencias de uso popular. El contenedor es un objeto que contiene datos del mismo tipo. El contenedor forward_list se implementa como una lista vinculada individualmente, por lo que proporciona acceso secuencial unidireccional a sus datos.

forward_list no proporciona acceso aleatorio rápido, solo admite acceso secuencial en una sola dirección. forward_list permite la operación de inserción y eliminación en cualquier lugar dentro de una secuencia en tiempo constante.

Los elementos de forward_list pueden estar dispersos en diferentes partes de la memoria. El contenedor almacena la información necesaria para permitir el acceso secuencial a sus datos. forward_lists se puede reducir o expandir según sea necesario desde ambos extremos en tiempo de ejecución. El asignador interno cumple automáticamente el requisito de almacenamiento.

Las forward_lists de tamaño cero también son válidas. En ese caso, forward_list.begin () y forward_list.end () apuntan a la misma ubicación. Pero el comportamiento de llamar a front () no está definido.

Definición

A continuación se muestra la definición de std :: forward_list del archivo de encabezado <forward_list>

template < class T, class Alloc = allocator<T> > class forward_list;

Parámetros

  • T - Tipo de elemento contenido.

    T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.

  • Alloc - Tipo de objeto asignador.

    De forma predeterminada, se utiliza la plantilla de clase de asignador, que define el modelo de asignación de memoria más simple y es independiente del valor.

Tipos de miembros

Los siguientes tipos de miembros se pueden utilizar como parámetros o tipos de retorno por funciones miembro.

No Señor. Tipos de miembros Definición
1 tipo de valor T (primer parámetro de la plantilla)
2 allocator_type Alloc (segundo parámetro de la plantilla)
3 referencia tipo de valor&
4 referencia_const const value_type &
5 puntero tipo de valor*
6 puntero_const const value_type *
7 iterador un iterador de acceso aleatorio a value_type
8 const_iterator un iterador de acceso aleatorio a const value_type
9 tipo de letra size_t
10 tipo_diferencia ptrdiff_t

Funciones de <forward_list>

A continuación se muestra una lista de todos los métodos del encabezado <forward_list>.

Constructores

No Señor. Método y descripción
1 forward_list :: forward_list constructor predeterminado

Construye un forward_list vacío con cero elementos.

2 forward_list :: constructor de relleno forward_list

Construye un nuevo forward_list con n elementos y asigna val a cada elemento de forward_list.

3 forward_list :: constructor de relleno forward_list

Construye un nuevo forward_list con n elementos y asigna un valor cero a cada elemento de forward_list.

4 forward_list :: constructor de rango forward_list

Construye un forward_list con tantos elementos como en el rango del primero al último .

5 forward_list :: constructor de copia forward_list

Construye un forward_list con copia de cada elemento presente en la lista existente.

6 forward_list :: forward_list move constructor

Construye un forward_list con el contenido de otro usando la semántica de movimiento.

7 forward_list :: constructor de lista de inicializador forward_list

Construye un forward_list a partir de la lista de inicialización.

Incinerador de basuras

No Señor. Método y descripción
1 forward_list :: ~ forward_list

Destruye el objeto forward_list desasignando su memoria.

Funciones de miembro

No Señor. Método y descripción
1 forward_list :: asignar versión de rango

Asigna un nuevo valor a forward_list reemplazando los antiguos.

2 forward_list :: asignar versión de relleno

Asigna nuevos valores a forward_list reemplazando los antiguos.

3 forward_list :: asignar la versión de la lista de inicializadores

Asigna nuevos valores a forward_list reemplazando los antiguos.

4 forward_list :: before_begin

Devuelve un iterador de acceso aleatorio que apunta a la posición antes del primer elemento de forward_list.

5 forward_list :: comenzar

Devuelve un iterador de acceso aleatorio que apunta al primer elemento de forward_list.

6 forward_list :: cbefore_begin

Devuelve un iterador de acceso aleatorio constante que apunta a la posición antes del primer elemento de forward_list.

7 forward_list :: cbegin

Devuelve un iterador de acceso aleatorio constante que apunta al comienzo de forward_list.

8 forward_list :: cend

Devuelve un iterador de acceso aleatorio constante que apunta al final de forward_list.

9 forward_list :: clear

Destruye forward_list eliminando todos los elementos de forward_list y establece el tamaño de forward_list en cero.

10 forward_list :: emplace_after

Construye e inserta un nuevo elemento después de la posición en forward_list y aumenta el tamaño de forward_list en uno.

11 forward_list :: emplace_front

Inserta un nuevo elemento al principio de forward_list y aumenta el tamaño de forward_list en uno.

12 forward_list :: vacío

Comprueba si forward_list está vacío o no.

13 forward_list :: fin

Devuelve un iterador de acceso aleatorio que apunta al último elemento de forward_list.

14 forward_list :: erase_after posición versión

Elimina un solo elemento después de la posición de forward_list.

15 forward_list :: borrar la versión del rango

Elimina el rango de elementos de forward_list.

dieciséis forward_list :: frente

Devuelve una referencia al primer elemento de forward_list.

17 forward_list :: get_allocator

Devuelve un asignador asociado con forward_list

18 forward_list :: insert_after versión de elemento único

Extiende el iterador insertando un nuevo elemento después de la posición en forward_list

19 forward_list :: insert_after mover versión

Extiende el iterador insertando un nuevo elemento después de la posición en forward_list

20 forward_list :: insert_after llenar la versión

Extiende el iterador insertando un nuevo elemento después de la posición en forward_list

21 forward_list :: insert_after rango versión

Extiende el iterador insertando un nuevo elemento después de la posición en forward_list

22 forward_list :: insert_after versión de la lista de inicializadores

Extiende el iterador insertando un nuevo elemento después de la posición en forward_list

23 forward_list :: max_size

Devuelve el número máximo de elementos que puede contener forward_list.

24 forward_list :: fusionar

Fusiona dos forward_lists ordenadas en una.

25 forward_list :: fusionar mover versión

Fusiona dos forward_lists ordenadas en una.

26 forward_list :: merge comparar función

Fusiona dos forward_lists ordenadas en una.

27 forward_list :: merge comparar función mover versión

Fusiona dos forward_lists ordenadas en una usando la semántica de movimiento.

28 forward_list :: operator = copiar versión

Asigna nuevos contenidos a forward_list reemplazando los antiguos.

29 forward_list :: operator = mover versión

Asigne nuevos contenidos a forward_list reemplazando los antiguos.

30 forward_list :: operator = versión de la lista de inicializadores

Asigne nuevos contenidos a forward_list reemplazando los antiguos.

31 forward_list :: pop_front

Elimina el primer elemento de forward_list.

32 forward_list :: push_front copia versión

Inserta un nuevo elemento al comienzo de forward_list.

33 forward_list :: push_front mover versión

Inserta un nuevo elemento al comienzo de forward_list.

34 forward_list :: eliminar

elimina los elementos de forward_list que coinciden con el valor.

35 forward_list :: remove_if

elimina elementos de forward_list que cumplen la condición.

36 forward_list :: redimensionar

Cambia el tamaño de forward_list.

37 forward_list :: redimensionar la versión del valor

Cambia el tamaño de forward_list.

38 forward_list :: reverse

Invierte el orden de los elementos presentes en forward_list.

39 forward_list :: sort

Ordena los elementos de forward_list.

40 forward_list :: función de clasificación de comparación

Ordena los elementos de forward_list.

41 forward_list :: splice_after

Transfiere todos los elementos de forward_list a * this.

42 forward_list :: splice_after mover versión

Transferencias todos los elementos de forward_list x a * esto mediante el uso de la semántica movimiento.

43 forward_list :: splice_after elemento único

Transfiere un elemento al que apunta el iterador i de forward_list x a * this .

44 forward_list :: splice_after versión de movimiento de un solo elemento

Transfiere el elemento apuntado por el iterador i de forward_list x a * this usando la semántica de movimiento.

45 forward_list :: splice_after versión del rango

Las transferencias de los elementos en el rango de primera a durar desde x a * esto .

46 forward_list :: rango de empalme y versión de movimiento

Transferencias los elementos en la gama de primera a duran desde x a * este mediante el uso de la semántica de movimiento.

47 forward_list :: intercambio

Intercambia el contenido de un forward_list con el contenido de otro forward_list x .

48 forward_list :: único

Elimina todos los elementos duplicados consecutivos de forward_list.

49 forward_list :: único

Elimina todos los elementos duplicados consecutivos de forward_list.

Funciones sobrecargadas de no miembros

No Señor. Método y descripción
1 operador ==

Comprueba si dos forward_lists son iguales o no.

2 operador! =

Comprueba si dos forward_lists son iguales o no.

3 operador <

Comprueba si first forward_list es menor que otro o no.

4 operador <=

Comprueba si first forward_list es menor o igual que otro o no.

5 operador>

Comprueba si first forward_list es mayor que otro o no.

6 operador> =

Comprueba si el primer forward_list es mayor o igual que otro o no.

7 intercambiar

Intercambia el contenido de dos forward_list.