Biblioteca C ++ - <forward_list>

Introdução

forward_list é um contêiner de sequência usado popularmente. Container é um objeto que contém dados do mesmo tipo. O contêiner forward_list é implementado como uma lista vinculada única, portanto, fornece acesso sequencial unidirecional aos seus dados.

forward_list não fornece acesso aleatório rápido, ele suporta apenas acesso sequencial em apenas uma direção. forward_list permite a operação de inserção e exclusão em qualquer lugar dentro de uma sequência em tempo constante.

Elementos de forward_list podem ser espalhados em diferentes blocos de memória. O contêiner armazena as informações necessárias para permitir o acesso sequencial aos seus dados. forward_lists podem encolher ou expandir conforme necessário de ambas as extremidades em tempo de execução. O requisito de armazenamento é atendido automaticamente pelo alocador interno.

Forward_lists de tamanho zero também são válidas. Nesse caso, forward_list.begin () e forward_list.end () apontam para o mesmo local. Mas o comportamento de chamar front () é indefinido.

Definição

Abaixo está a definição de std :: forward_list do arquivo de cabeçalho <forward_list>

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

Parâmetros

  • T - Tipo de elemento contido.

    T pode ser substituído por qualquer outro tipo de dados, incluindo o tipo definido pelo usuário.

  • Alloc - Tipo de objeto alocador.

    Por padrão, o modelo de classe de alocador é usado, o que define o modelo de alocação de memória mais simples e é independente de valor.

Tipos de membros

Os seguintes tipos de membro podem ser usados ​​como parâmetros ou tipo de retorno por funções de membro.

Sr. Não. Tipos de membros Definição
1 value_type T (primeiro parâmetro do modelo)
2 alocator_type Alloc (segundo parâmetro do modelo)
3 referência value_type &
4 const_reference const value_type &
5 ponteiro value_type *
6 const_pointer const value_type *
7 iterador um iterador de acesso aleatório para value_type
8 const_iterator um iterador de acesso aleatório para const value_type
9 Tamanho Tipo size_t
10 tipo de diferença ptrdiff_t

Funções de <forward_list>

Abaixo está uma lista de todos os métodos do cabeçalho <forward_list>.

Construtores

Sr. Não. Método e Descrição
1 forward_list :: forward_list construtor padrão

Constrói um forward_list vazio com zero elementos.

2 forward_list :: forward_list fill constructor

Constrói um novo forward_list com n elementos e atribui val a cada elemento de forward_list.

3 forward_list :: forward_list fill constructor

Constrói um novo forward_list com n elementos e atribui valor zero a cada elemento de forward_list.

4 forward_list :: forward_list construtor de intervalo

Constrói um forward_list com tantos elementos quanto no intervalo do primeiro ao último .

5 forward_list :: forward_list copy constructor

Constrói um forward_list com cópia de cada elemento presente na lista existente.

6 forward_list :: forward_list move constructor

Constrói um forward_list com o conteúdo de outro usando a semântica de movimento.

7 forward_list :: forward_list construtor de lista de inicializadores

Constrói um forward_list a partir da lista de inicialização.

Destruidor

Sr. Não. Método e Descrição
1 forward_list :: ~ forward_list

Destrói o objeto forward_list desalocando sua memória.

Funções de membro

Sr. Não. Método e Descrição
1 forward_list :: atribuir versão de intervalo

Atribui um novo valor a forward_list substituindo os antigos.

2 forward_list :: atribuir versão de preenchimento

Atribui novos valores a forward_list substituindo os antigos.

3 forward_list :: atribuir versão da lista de inicializadores

Atribui novos valores a forward_list substituindo os antigos.

4 forward_list :: before_begin

Retorna um iterador de acesso aleatório que aponta para a posição antes do primeiro elemento de forward_list.

5 forward_list :: begin

Retorna um iterador de acesso aleatório que aponta para o primeiro elemento de forward_list.

6 forward_list :: cbefore_begin

Retorna um iterador de acesso aleatório constante que aponta para a posição antes do primeiro elemento de forward_list.

7 forward_list :: cbegin

Retorna um iterador de acesso aleatório constante que aponta para o início de forward_list.

8 forward_list :: cend

Retorna um iterador de acesso aleatório constante que aponta para o final de forward_list.

9 forward_list :: clear

Destrói o forward_list removendo todos os elementos do forward_list e define o tamanho do forward_list como zero.

10 forward_list :: emplace_after

Constrói e insere um novo elemento após a posição em forward_list e aumenta o tamanho de forward_list em um.

11 forward_list :: emplace_front

Insere um novo elemento no início de forward_list e aumenta o tamanho de forward_list em um.

12 forward_list :: vazio

Testa se forward_list está vazio ou não.

13 forward_list :: end

Retorna um iterador de acesso aleatório que aponta para o último elemento de forward_list.

14 forward_list :: erase_after position version

Remove um único elemento após a posição de forward_list.

15 forward_list :: apagar versão do intervalo

Remove um intervalo de elemento de forward_list.

16 forward_list :: front

Retorna uma referência ao primeiro elemento de forward_list.

17 forward_list :: get_allocator

Retorna um alocador associado a forward_list

18 forward_list :: insert_after versão de elemento único

Estende o iterador inserindo novo elemento após a posição em forward_list

19 forward_list :: insert_after move version

Estende o iterador inserindo novo elemento após a posição em forward_list

20 forward_list :: insert_after fill version

Estende o iterador inserindo novo elemento após a posição em forward_list

21 forward_list :: insert_after range version

Estende o iterador inserindo novo elemento após a posição em forward_list

22 forward_list :: insert_after versão da lista de inicializadores

Estende o iterador inserindo novo elemento após a posição em forward_list

23 forward_list :: max_size

Retorna o número máximo de elementos que podem ser mantidos por forward_list.

24 forward_list :: merge

Mescla duas forward_lists classificadas em uma.

25 forward_list :: mesclar versão mover

Mescla duas forward_lists classificadas em uma.

26 forward_list :: merge compare function

Mescla duas forward_lists classificadas em uma.

27 forward_list :: mesclar versão de movimentação da função de comparação

Mescla duas forward_lists classificadas em uma usando a semântica de movimentação.

28 forward_list :: operator = copiar versão

Atribui novos conteúdos ao forward_list substituindo os antigos.

29 forward_list :: operator = mover versão

Atribua novos conteúdos ao forward_list substituindo os antigos.

30 forward_list :: operator = versão da lista de inicializadores

Atribua novos conteúdos ao forward_list substituindo os antigos.

31 forward_list :: pop_front

Remove o primeiro elemento de forward_list.

32 forward_list :: push_front copy version

Insere um novo elemento no início de forward_list.

33 forward_list :: push_front move version

Insere um novo elemento no início de forward_list.

34 forward_list :: remove

remove elemento (s) da forward_list que corresponde ao valor.

35 forward_list :: remove_if

remove os elementos do forward_list que atendem à condição.

36 forward_list :: resize

Altera o tamanho de forward_list.

37 forward_list :: resize value version

Altera o tamanho de forward_list.

38 forward_list :: reverse

Inverte a ordem dos elementos presentes no forward_list.

39 forward_list :: sort

Classifica os elementos de forward_list.

40 forward_list :: função de comparação de classificação

Classifica os elementos de forward_list.

41 forward_list :: splice_after

Transfere todos os elementos de forward_list para * this.

42 forward_list :: splice_after move version

Transfere todos os elementos de forward_list x para * this usando a semântica de movimentação.

43 forward_list :: splice_after único elemento

Transfere um elemento apontado pelo iterador i de forward_list x para * this .

44 forward_list :: splice_after versão de movimento de elemento único

Transfere o elemento apontado pelo iterador i de forward_list x para * this usando a semântica de movimento.

45 forward_list :: splice_after versão do intervalo

Transfere os elementos no intervalo do primeiro ao último de x para * this .

46 forward_list :: faixa de emenda e versão de movimento

Transfere os elementos no intervalo do primeiro ao último de x para * isso usando a semântica de movimento.

47 forward_list :: swap

Troca o conteúdo de um forward_list com o conteúdo de outro forward_list x .

48 forward_list :: único

Remove todos os elementos duplicados consecutivos de forward_list.

49 forward_list :: único

Remove todos os elementos duplicados consecutivos de forward_list.

Funções sobrecarregadas de não membros

Sr. Não. Método e Descrição
1 operador ==

Testa se duas forward_lists são iguais ou não.

2 operador! =

Testa se duas forward_lists são iguais ou não.

3 operador <

Testa se o primeiro forward_list é menor que outro ou não.

4 operador <=

Testa se o primeiro forward_list é menor ou igual a outro ou não.

5 operador>

Testa se o primeiro forward_list é maior do que outro ou não.

6 operador> =

Testa se primeiro forward_list é maior ou igual a outro ou não.

7 troca

Troca o conteúdo de duas forward_list.