Biblioteca de iteradores de C ++ - random_access_iterator_tag
Descripción
Se utiliza para identificar la categoría de un iterador y un iterador de acceso aleatorio admite al menos una de las siguientes operaciones.
C ++ 98
propiedad | expresiones válidas |
---|---|
Es una copia-construible, copia-asignable y destructible por defecto. |
|
Se puede comparar la equivalencia utilizando los operadores de igualdad / desigualdad (significativo cuando ambos valores del iterador iteran sobre la misma secuencia subyacente). |
|
Puede desreferenciarse como un rvalue (si está en un estado desreferenciable ). |
|
Para iteradores mutables ( iteradores no constantes ): Puede desreferenciarse como un valor l (si se encuentra en un estado desreferenciable ). |
*a = t |
Puede incrementarse (si está en un estado desreferenciable ). El resultado también es desreferenciable o un iterador pasado al final . Dos iteradores que se comparan iguales, siguen comparando iguales después de que ambos aumentan. |
|
Puede decrementarse (si lo precede un valor de iterador desreferenciable ). |
--un un-- *un-- |
Soporta los operadores aritméticos + y - entre un iterador y un valor entero, o restando un iterador de otro. |
|
Se puede comparar con los operadores relacionales de desigualdad ( < , > , <= y >= ). |
|
Admite operaciones de asignación compuesta += y-= |
|
Admite el operador de desreferencia de compensación ( [] ) |
a[n] |
C ++ 11
propiedad | expresiones válidas |
---|---|
Es una copia-construible, copia-asignable y destructible por defecto. |
|
Se puede comparar la equivalencia utilizando los operadores de igualdad / desigualdad (significativo cuando ambos valores del iterador iteran sobre la misma secuencia subyacente). |
|
Puede desreferenciarse como un rvalue (si está en un estado desreferenciable ). |
|
Para iteradores mutables ( iteradores no constantes ): Puede desreferenciarse como un valor l (si se encuentra en un estado desreferenciable ). |
*a = t |
Puede incrementarse (si está en un estado desreferenciable ). El resultado también es desreferenciable o un iterador pasado al final . Dos iteradores que se comparan iguales, siguen comparando iguales después de que ambos aumentan. |
|
Puede decrementarse (si lo precede un valor de iterador desreferenciable ). |
--un un-- *un-- |
Es compatible con los operadores aritméticos + y - entre un iterador y un valor entero, o restando un iterador de otro. |
|
Se puede comparar con los operadores relacionales desigualdad ( < , > , <= y >= ). |
|
Admite operaciones de asignación compuesta += y-= |
|
Es compatible con el operador de desreferencia de compensación ( [] ) |
a[n] |
Los valores L son intercambiables . | swap(a,b) |
Declaración
A continuación se muestra la declaración de std :: random_access_iterator_tag.
C ++ 11
struct random_access_iterator_tag {};