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