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