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 |
|
|||
Pode ser incrementado |
|
||||
Acesso aleatório | Bidirecional | frente | Entrada | Suporta comparações de igualdade / desigualdade |
|
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. |