Biblioteca C ++ - <iterador>
Introducción
Es un objeto similar a un puntero que se puede incrementar con ++, desreferenciar con * y comparar con otro iterador con! =
Categorías
| categoría | propiedades | expresiones válidas | |||
|---|---|---|---|---|---|
| todas las categorias | copia-construible , copia-asignable y destructible |
|
|||
| Se puede incrementar |
|
||||
| Acceso aleatorio | Bidireccional | Adelante | Entrada | Admite comparaciones de igualdad / desigualdad |
|
| Se puede desreferenciar como un valor r | *un a-> m |
||||
| Salida | Se puede desreferenciar como un valor l (solo para tipos de iteradores mutables ) |
* a = t * a ++ = t |
|||
| construible por defecto | X a; X() |
||||
| Multi-pass: ni la desreferenciación ni el incremento afectan la desreferenciabilidad | { b = a; *a++; *b; } |
||||
| Se puede decrementar | --un un-- *un-- |
||||
| Soporta operadores aritméticos + y - | a + n n + a un a - b |
||||
| Admite comparaciones de desigualdad ( < , > , <= y > = ) entre iteradores | a <b a> b a <= b a> = b |
||||
| Admite operaciones de asignación compuestas + = y - = | a + = n a - = n |
||||
| Es compatible con el operador de desreferencia de compensación ( [] ) | un] | ||||
Funciones
| No Señor. | Funciones y descripción |
|---|---|
| 1 | avanzar
Avanza el iterador en n posiciones de elementos. |
| 2 | distancia
Devuelve la distancia entre iteradores. |
| 3 | empezar
Se usa para comenzar un iterador. |
| 4 | fin
Se utiliza para finalizar un iterador. |
| 5 | anterior
Se usa para llevar el iterador al elemento anterior. |
| 6 | siguiente
Se usa para llevar el iterador al siguiente elemento. |
Generadores de iteradores
| No Señor. | Generadores de iteradores y descripción |
|---|---|
| 1 | back_inserter
Construye un iterador de inserción posterior. |
| 2 | insertador
Construye insert iterator |
| 3 | make_move_iterator
Construye iteradores de movimiento. |
Clases
| No Señor. | Clases y descripción |
|---|---|
| 1 | iterador
It iteradores de clase base. |
| 2 | iterator_traits
Es un iterador de rasgos. |
Iteradores predefinidos
| No Señor. | Iteradores predefinidos y descripción |
|---|---|
| 1 | reverse_iterator
Es un iterador inverso. |
| 2 | move_iterator
Es un iterador de movimiento. |
| 3 | back_insert_iterator
Es un iterador de inserción posterior. |
| 4 | front_insert_iterator
Es un iterador de inserción frontal. |
| 5 | insert_iterator
Se utiliza para insertar un iterador. |
| 6 | istream_iterator
Es un iterador de flujo de entrada. |
| 7 | ostream_iterator
Es un iterador de flujo de salida. |
| 8 | istreambuf_iterator
Es un iterador de búfer de flujo de entrada. |
| 7 | ostreambuf_iterator
Es un iterador de búfer de flujo de salida. |
Etiquetas de categoría
| No Señor. | Etiquetas de categoría y descripción |
|---|---|
| 1 | input_iterator_tag
Ingrese la categoría del iterador. |
| 2 | output_iterator_tag
categoría de iterador de salida. |
| 3 | forward_iterator_tag
Categoría de iterador de avance. |
| 4 | bidirectional_iterator_tag
Categoría de iterador bidireccional. |
| 5 | etiqueta_iterador_de_acceso_aleatorio
Categoría de iterador de acceso aleatorio. |