Biblioteca C ++ Iterator - random_access_iterator_tag
Descrição
É usado para identificar a categoria de um iterador e um iterador de acesso aleatório suporta pelo menos uma das seguintes operações.
C ++ 98
propriedade | expressões válidas |
---|---|
É um padrão construtível, copiável, atribuído por cópia e destrutível |
|
Pode ser comparado para equivalência usando os operadores de igualdade / desigualdade (significativo quando ambos os valores do iterador iteram na mesma sequência subjacente). |
|
Ele pode ser desreferenciado como um rvalue (se estiver em um estado desreferenciável ). |
|
Para iteradores mutáveis ( iteradores não constantes ): Pode ser desreferenciado como um lvalue (se em um estado desreferenciável ). |
*a = t |
Ele pode ser incrementado (se estiver em um estado não referenciável ). O resultado também pode ser desreferenciável ou um iterador ultrapassado . Dois iteradores que comparam iguais, continuam comparando iguais depois de serem ambos aumentados. |
|
Ele pode ser diminuído (se um valor de iterador não referenciável o preceder). |
--uma uma-- *uma-- |
Suporta os operadores aritméticos + e - entre um iterador e um valor inteiro, ou subtraindo um iterador de outro. |
|
Pode ser comparado com operadores relacionais de desigualdade ( < , > , <= e >= ). |
|
Suporta operações de atribuição composta += e-= |
|
Suporta o operador de desreferência de deslocamento ( [] ) |
a[n] |
C ++ 11
propriedade | expressões válidas |
---|---|
É um padrão construtível, construtível por cópia, atribuível por cópia e destrutível |
|
Pode ser comparado para equivalência usando os operadores de igualdade / desigualdade (significativo quando ambos os valores do iterador iteram na mesma sequência subjacente). |
|
Ele pode ser desreferenciado como um rvalue (se estiver em um estado desreferenciável ). |
|
Para iteradores mutáveis ( iteradores não constantes ): Pode ser desreferenciado como um lvalue (se em um estado desreferenciável ). |
*a = t |
Ele pode ser incrementado (se estiver em um estado não referenciável ). O resultado também pode ser desreferenciável ou um iterador ultrapassado . Dois iteradores que comparam iguais, continuam comparando iguais depois de serem ambos aumentados. |
|
Ele pode ser diminuído (se um valor de iterador não referenciável o preceder). |
--uma uma-- *uma-- |
Ele suporta os operadores aritméticos + e - entre um iterador e um valor inteiro, ou subtraindo um iterador de outro. |
|
Ele pode ser comparado com os operadores relacionais desigualdade ( < , > , <= e >= ). |
|
Ele suporta operações de atribuição composta += e-= |
|
Ele suporta o operador de desreferência de deslocamento ( [] ) |
a[n] |
Lvalues são trocáveis . | swap(a,b) |
Declaração
A seguir está a declaração para std :: random_access_iterator_tag.
C ++ 11
struct random_access_iterator_tag {};