Libreria Iterator C ++ - random_access_iterator_tag
Descrizione
Viene utilizzato per identificare la categoria di un iteratore e un iteratore ad accesso casuale supporta almeno una delle seguenti operazioni.
C ++ 98
| proprietà | espressioni valide |
|---|---|
| È un file predefinito costruibile, copia-costruibile, copia-assegnabile e distruttibile |
|
Può essere confrontato per l'equivalenza utilizzando gli operatori di uguaglianza / disuguaglianza (significativo quando entrambi i valori dell'iteratore ripetono sulla stessa sequenza sottostante). |
|
| Può essere dereferenziato come valore (se in uno stato dereferenziabile ). |
|
Per iteratori mutabili ( iteratori non costanti ): Può essere dereferenziato come lvalue (se in uno stato dereferenziabile ). |
*a = t |
Può essere incrementato (se in uno stato dereferenziabile ). Il risultato è anche dereferenziabile o un iteratore passato alla fine . Due iteratori che confrontano uguali, continuano a confrontare uguali dopo essere stati entrambi aumentati. |
|
Può essere decrementato (se preceduto da un valore iteratore dereferenziabile ). |
--un un-- *un-- |
Supporta gli operatori aritmetici +e -tra un iteratore e un valore intero o sottraendo un iteratore da un altro. |
|
Possono essere confrontati con gli operatori relazionali disuguaglianza ( <, >, <=e >=). |
|
Supporta operazioni di assegnazione composta +=e-= |
|
Supporta l'operatore di dereferenziazione offset ( []) |
a[n] |
C ++ 11
| proprietà | espressioni valide |
|---|---|
| È un file predefinito costruibile, copia-costruibile, copia-assegnabile e distruttibile |
|
Può essere confrontato per l'equivalenza utilizzando gli operatori di uguaglianza / disuguaglianza (significativo quando entrambi i valori dell'iteratore ripetono sulla stessa sequenza sottostante). |
|
| Può essere dereferenziato come valore (se in uno stato dereferenziabile ). |
|
Per iteratori mutabili ( iteratori non costanti ): Può essere dereferenziato come lvalue (se in uno stato dereferenziabile ). |
*a = t |
Può essere incrementato (se in uno stato dereferenziabile ). Il risultato è anche dereferenziabile o un iteratore passato alla fine . Due iteratori che confrontano uguali, continuano a confrontare uguali dopo essere stati entrambi aumentati. |
|
Può essere decrementato (se preceduto da un valore iteratore dereferenziabile ). |
--un un-- *un-- |
Supporta gli operatori aritmetici +e -tra un iteratore e un valore intero o sottraendo un iteratore da un altro. |
|
Può essere confrontato con gli operatori relazionali disuguaglianza ( <, >, <=e >=). |
|
Supporta operazioni di assegnazione composta +=e-= |
|
Supporta l'operatore di dereferenziazione offset ( []) |
a[n] |
| I valori L sono scambiabili . | swap(a,b) |
Dichiarazione
Di seguito è riportata la dichiarazione per std :: random_access_iterator_tag.
C ++ 11
struct random_access_iterator_tag {};
