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. |