Share via


<iterator>

Define los primitivos de iterador, iteradores predefinidos e iteradores de la secuencia, así como varias plantillas que admiten.Los adaptadores predefinidos de inserción y inversos de inclusión de iteradores.Hay tres clases de adaptadores de iterador de inserción: nuevo, a, y general.Proporcionan la semántica de la inserción en lugar de la semántica sobrescribirá que los iteradores de una función miembro contenedor proporcionan.

#include <iterator>

Comentarios

Iteradores es una generalización de punteros, resumiendo de los requisitos de tal forma que el programa de C++. ejecute diversas estructuras de datos de manera uniforme.Iteradores actuar como intermediarios entre contenedores y algoritmos genéricos.En lugar de trabajar en tipos de datos específicos, los algoritmos son definido funcionar en un intervalo especificado por un tipo de iterador.Cualquier estructura de datos que satisfaga los requisitos de iterador podrá trabajar por el algoritmo.hay cinco tipos o categorías de iterador, de cada uno con su propio conjunto de requisitos y de funcionalidad resultante:

  • Resultado: el desplazamiento hacia delante, puede almacenar pero no recuperar valores, proporcionadas por el ostream y el insertador.

  • entrada: el desplazamiento hacia delante, puede recuperar pero los valores no almacenados, proporcionadas por el istream.

  • Frontal: el desplazamiento hacia delante, puede almacenar y recuperar valores.

  • bidireccional: el desplazamiento hacia delante y hacia atrás, puede almacenar y recuperar valores, proporcionadas por la lista, el conjunto, el conjunto múltiple, el mapa, y el multimap.

  • acceso aleatorio: los elementos acceso en cualquier orden, puede almacenar y recuperar valores, proporcionadas por el vector, el deque, la cadena, y la matriz.

Iteradores que tienen mayores requisitos y acceso tan más eficaz a los elementos se pueden usar en lugar de iteradores con menos requisitos.Por ejemplo, si un iterador hacia delante se llama para, un iterador de acceso aleatorio pueda utilizado en su lugar.

k3tf6509.collapse_all(es-es,VS.110).gifFunciones

avance

incrementa un iterador por un número especificado de posiciones.

back_inserter

Crea un iterador que pueda insertar elementos en la reproducción de un contenedor especificado.

begin

Recupera un iterador al primer elemento de un contenedor especificado.

distancia

determina el número de incrementos entre las posiciones dirigidas por dos iteradores.

end

Recupera un iterador al elemento tras el último elemento en el contenedor especificado.

front_inserter

Crea un iterador que pueda insertar elementos en el principio de un contenedor especificado.

insertador

Un adaptador de iterador que agrega un nuevo elemento a un contenedor en un punto especificado de inserción.

make_move_iterator

Devuelve un iterador de movimiento que contiene el iterador proporcionado como el iterador base almacenado.

después

Recorre un número especificado de veces y devuelve la nueva posición del iterador.

prev

Recorre en orden inverso al número de veces especificado y devuelve la nueva posición del iterador.

k3tf6509.collapse_all(es-es,VS.110).gifOperadores

el operador! =

Comprueba si el objeto de iterador en el lado izquierdo del operador no es igual al objeto de iterador en el lado derecho.

operator==

Comprueba si el objeto de iterador en el lado izquierdo del operador es igual al objeto de iterador en el lado derecho.

operator<

Comprueba si el objeto de iterador en el lado izquierdo del operador es menor que el objeto de iterador en el lado derecho.

operator<=

Comprueba si es el objeto de iterador en el lado izquierdo del operador menor o igual que el objeto de iterador en el lado derecho.

operator>

Comprueba si el objeto de iterador en el lado izquierdo del operador es mayor que el objeto de iterador en el lado derecho.

operator>=

Comprueba si es el objeto de iterador en el lado izquierdo del operador mayor o igual que el objeto de iterador en el lado derecho.

operator+

Agrega un desplazamiento un iterador y devuelve nuevo reverse_iterator que dirige el elemento insertado en la nueva posición de desplazamiento.

operador

resta un iterador de otro y devuelve la diferencia.

k3tf6509.collapse_all(es-es,VS.110).gifClases

back_insert_iterator

La clase de plantilla describe un objeto de iterador de salida.Insertar elementos en un contenedor de Contenedorescrito, que tiene acceso a través del objeto protegido de puntero que almacena el contenedor denominado.

bidirectional_iterator_tag

Una clase que proporciona un tipo de valor devuelto para una función de iterator_category que representa un iterador bidireccional.

checked_array_iterator

Una clase que tiene acceso a una matriz utilizando un acceso aleatorio, iterador comprobado.

forward_iterator_tag

Una clase que proporciona un tipo de valor devuelto para una función de iterator_category que representa un iterador hacia delante.

front_insert_iterator

La clase de plantilla describe un objeto de iterador de salida.Insertar elementos en un contenedor de Contenedorescrito, que tiene acceso a través del objeto protegido de puntero que almacena el contenedor denominado.

input_iterator_tag

Una clase que proporciona un tipo de valor devuelto para una función de iterator_category que representa un iterador de entrada.

insert_iterator

La clase de plantilla describe un objeto de iterador de salida.Insertar elementos en un contenedor de Contenedorescrito, que tiene acceso a través del objeto protegido de puntero que almacena el contenedor denominado.también almacena el objeto protegido de iterador , de la clase contenedor:: iterador, denominado iter.

istream_iterator

La clase de plantilla describe un objeto de iterador de entrada.Extrae objetos de clase Ty de un flujo de entrada, que tiene acceso a través de un objeto de almacenamiento, de tipo puntero a basic_istream<Elem, Tr>.

istreambuf_iterator

La clase de plantilla describe un objeto de iterador de entrada.Insertar los elementos de la clase Elem en un búfer del flujo de salida, que tiene acceso a través de un objeto de almacenamiento, de puntero tipo a basic_streambuf<Elem, Tr>.

Iterador

La clase de plantilla se usa como tipo base para todos los iteradores.

iterator_traits

Una clase de plantilla que proporciona los tipos críticos que están asociados con diferentes tipos de iterador para que ocuparse de la misma manera.

move_iterator

un objeto de move_iterator almacena un iterador de acceso aleatorio de RandomIteratorescrito.Se comporta como un iterador de acceso aleatorio, excepto cuando está administrada.El resultado de operator* es implícitamente conversión a value_type&&: para crear rvalue reference.

ostream_iterator

La clase de plantilla describe un objeto de iterador de salida.Inserta objetos de clase tipo en una secuencia de salida, que tiene acceso a través de un objeto de almacenamiento, de puntero tipo a basic_ostream<Elem, Tr>.

clase de ostreambuf_iterator

La clase de plantilla describe un objeto de iterador de salida.Insertar los elementos de la clase Elem en un búfer del flujo de salida, que tiene acceso a través de un objeto de almacenamiento, de tipo puntero a basic_streambuf<Elem, Tr>.

output_iterator_tag

Una clase que proporciona un tipo de valor devuelto de la función de iterator_category que representa un iterador de salida.

random_access_iterator_tag

Una clase que proporciona un tipo de valor devuelto de la función de iterator_category que representa un iterador de acceso aleatorio.

reverse_iterator

La clase de plantilla describe un objeto que se comporte como un iterador de acceso aleatorio, sólo en orden inverso.

Vea también

Referencia

Seguridad para subprocesos de la biblioteca estándar de C++

Biblioteca de plantillas estándar

Otros recursos

Archivos de encabezado