Compartilhar via


<iterator>

Define primitivos de iterador, iteradores predefinidos e iteradores de fluxo, bem como vários modelos de suporte.Iteradores predefinidos de adaptadores incluem inserção e o inverso.Há três classes de adaptadores de iterador de inserção: a frente, voltar e, em geral.Fornece semântica de inserção em vez de substituir que a semântica iteradores da função de membro do recipiente fornecem.

#include <iterator>

Comentários

Iteradores é uma generalização de ponteiros, abstraindo dos seus requisitos de uma maneira que permite que o programa de C++ trabalhar com estruturas de dados diferentes de maneira uniforme.Iteradores atuam como recipientes intermediários entre e algoritmos genéricos.Em vez de operar em tipos de dados específicos, os algoritmos estão definidos para operar em um intervalo especificado por um tipo de iterador.Qualquer estrutura de dados que satisfizer os requisitos de iterador pode então ser operada sobre o algoritmo.Há cinco tipos ou categorias de iterador, cada um com seu próprio conjunto de requisitos e funcionalidade resultante:

  • Saída: mover para frente, mas não pode armazenar recuperar valores, fornecida pelo ostream e o inserter.

  • Entrada: mover para frente, pode recuperar mas não armazene valores, fornecida pelo istream.

  • Para frente: mover para frente, pode armazenar e recuperar valores.

  • Bidirecional: para frente e para trás movendo, pode armazenar e recuperar valores, desde que a lista, pelo conjunto, por multiset, o mapa, e o multimap.

  • De acesso aleatório: elementos acessados em qualquer ordem, podem armazenar e recuperar valores, fornecida pelo vetor, por deque, a cadeia de caracteres, e a matriz.

Iteradores que têm mais requisitos e um acesso mais tão poderoso para elementos podem ser usados no lugar de iteradores com menos requisitos.Por exemplo, se um iterador frente é chamado para, então um iterador de acesso aleatório possa usado em vez de isso.

k3tf6509.collapse_all(pt-br,VS.110).gifFunções

avanço

Sai um iterador por um número especificado de posições.

back_inserter

Cria um iterador que pode inserir os elementos em volta de um contêiner especificado.

inicie

Recupera um iterador para o primeiro elemento em um contêiner especificado.

distância

Determina o número de incrementos entre as posições endereçadas por dois iteradores.

end

Recupera um iterador ao elemento após o último elemento no contêiner especificado.

front_inserter

Cria um iterador que pode inserir os elementos na frente de um contêiner especificado.

inserter

Um adaptador de iterador que adiciona um novo elemento a um contêiner especificado em um ponto de inserção.

make_move_iterator

Retorna um iterador de animação que contém o iterador fornecido como o iterador base armazenado.

em seguida

Itera um número de vezes especificado e retorna a nova posição de iterador.

prev

Itera em ordem inversa um número de vezes especificado e retorna a nova posição de iterador.

k3tf6509.collapse_all(pt-br,VS.110).gifOperadores

operador! =

Teste se o objeto de iterador no lado esquerdo do operador não é igual ao objeto de iterador no lado direito.

operator==

Teste se o objeto de iterador no lado esquerdo do operador é igual ao objeto de iterador no lado direito.

operator<

Teste se o objeto de iterador no lado esquerdo do operador é menor que o objeto de iterador no lado direito.

operator<=

Teste se o objeto de iterador no lado esquerdo do operador é menor ou igual ao objeto de iterador no lado direito.

operator>

Teste se o objeto de iterador no lado esquerdo do operador é maior do que o objeto de iterador no lado direito.

operator>=

Teste se o objeto de iterador no lado esquerdo do operador é maior ou igual ao objeto de iterador no lado direito.

operator+

Adiciona um deslocamento a iterador e retorna um novo reverse_iterator que trata o elemento inserido na nova posição de deslocamento.

operador

Subtrai um iterador de outra e retorna a diferença.

k3tf6509.collapse_all(pt-br,VS.110).gifClasses

back_insert_iterator

A classe de modelo descreve um objeto de iterador de saída.Insere elementos em um recipiente de tipo Contêiner, que acessa através do objeto que armazena pointer protegido do contêiner chamado.

bidirectional_iterator_tag

Uma classe que fornece um tipo de retorno para uma função de iterator_category que representa um iterador bidirecional.

checked_array_iterator

Uma classe que acessa uma matriz usando um iterador de acesso aleatório, verificado.

forward_iterator_tag

Uma classe que fornece um tipo de retorno para uma função de iterator_category que representa um iterador frente.

front_insert_iterator

A classe de modelo descreve um objeto de iterador de saída.Insere elementos em um recipiente de tipo Contêiner, que acessa através do objeto que armazena pointer protegido do contêiner chamado.

input_iterator_tag

Uma classe que fornece um tipo de retorno para uma função de iterator_category que representa um iterador de entrada.

insert_iterator

A classe de modelo descreve um objeto de iterador de saída.Insere elementos em um recipiente de tipo Contêiner, que acessa através do objeto que armazena pointer protegido do contêiner chamado.Também armazena o objeto protegido de iterator , classe Container::iterator, chamado iter.

istream_iterator

A classe de modelo descreve um objeto de iterador de entrada.Em objetos de classe Ty de um fluxo de entrada, que acessa através de um objeto que armazena, ponteiro de tipo a basic_istream<Elem, Tr>.

istreambuf_iterator

A classe de modelo descreve um objeto de iterador de entrada.Insere os elementos de classe Elem em um buffer de fluxo de saída, que acessa através de um objeto que armazena, do tipo pointer a basic_streambuf<Elem, Tr>.

iterador

A classe de modelo é usada como um tipo base para todos iteradores.

iterator_traits

Uma classe auxiliar do modelo que fornece os tipos importantes que são associados com o iterador tipos diferentes de modo que eles possam ser referenciados da mesma forma.

move_iterator

Um objeto de move_iterator armazena um iterador de acesso aleatório de tipo RandomIterator.Se comporta como um iterador de acesso aleatório, a não ser que quando desreferenciado.o resultado de operator* é convertido implicitamente a value_type&&: para fazer rvalue reference.

ostream_iterator

A classe de modelo descreve um objeto de iterador de saída.Insere objetos de classe Tipo em um fluxo de saída, que acessa através de um objeto que armazena, do tipo pointer a basic_ostream<Elem, Tr>.

classe de ostreambuf_iterator

A classe de modelo descreve um objeto de iterador de saída.Insere os elementos de classe Elem em um buffer de fluxo de saída, que acessa através de um objeto que armazena, ponteiro de tipo a basic_streambuf<Elem, Tr>.

output_iterator_tag

Uma classe que fornece um tipo de retorno da função de iterator_category que representa um iterador de saída.

random_access_iterator_tag

Uma classe que fornece um tipo de retorno da função de iterator_category que representa um iterador de acesso aleatório.

reverse_iterator

A classe de modelo descreve um objeto que se comporta como uma iterador de acesso aleatório, somente em ordem inversa.

Consulte também

Referência

Segurança do thread na biblioteca C++ padrão

Standard Template Library

Outros recursos

Arquivos de cabeçalho