Biblioteca C ++ - <iterador>

Introdução

É um objeto semelhante a um ponteiro que pode ser incrementado com ++, desreferenciado com * e comparado a outro iterador com! =

Categorias

categoria propriedades expressões válidas
todas as categorias cópia construtível , cópia atribuível e destrutível

X b(a);

b = a;

Pode ser incrementado

++a

a++

Acesso aleatório Bidirecional frente Entrada Suporta comparações de igualdade / desigualdade

a == b

a != b

Pode ser desreferenciado como um rvalue

*uma

a-> m

Resultado

Pode ser desreferenciado como um lvalue

(apenas para tipos de iteradores mutáveis )

* a = t

* a ++ = t

padrão construtível

X a;

X ()

Multi-passagem: nem o desreferenciamento nem o incremento afetam a desreferenciabilidade { b = a; *a++; *b; }
Pode ser diminuído

--uma

uma--

*uma--

Suporta operadores aritméticos + e -

a + n

n + a

a

a - b

Suporta comparações de desigualdade ( < , > , <= e > = ) entre iteradores

a <b

a> b

a <= b

a> = b

Suporta operações de atribuição composta + = e - =

a + = n

a - = n

Ele suporta o operador de desreferência de deslocamento ( [] ) a]

Funções

Sr. Não. Funções e descrição
1 avançar

Ele avança o iterador em posições de n elementos.

2 distância

Ele retorna a distância entre os iteradores.

3 início

É usado para iniciar um iterador.

4 fim

É usado para encerrar um iterador.

5 anterior

É usado para obter o iterador do elemento anterior.

6 Próximo

É usado para obter o iterador para o próximo elemento.

Geradores de iterador

Sr. Não. Geradores de iterador e descrição
1 back_inserter

Ele constrói um iterador de inserção de volta.

2 insersor

Ele constrói o iterador de inserção

3 make_move_iterator

Ele constrói iteradores de movimento.

Aulas

Sr. Não. Classes e descrição
1 iterador

Ele faz a iteração da classe base.

2 iterator_traits

É um traço iterador.

Iteradores predefinidos

Sr. Não. Iteradores predefinidos e descrição
1 reverse_iterator

É um iterador reverso.

2 move_iterator

É um iterador de movimento.

3 back_insert_iterator

É um iterador de inserção posterior.

4 front_insert_iterator

É um iterador de inserção frontal.

5 insert_iterator

É usado para inserir um iterador.

6 istream_iterator

É um iterador de fluxo de entrada.

7 ostream_iterator

É um iterador do fluxo de saída.

8 istreambuf_iterator

É um iterador de buffer de fluxo de entrada.

7 ostreambuf_iterator

É um iterador de buffer de fluxo de saída.

Tags de categoria

Sr. Não. Tags de categoria e descrição
1 input_iterator_tag

Categoria de iterador de entrada.

2 output_iterator_tag

categoria de iterador de saída.

3 forward_iterator_tag

Categoria de iterador de encaminhamento.

4 bidirectional_iterator_tag

Categoria de iterador bidirecional.

5 random_access_iterator_tag

Categoria de iterador de acesso aleatório.