Libreria C ++ Iterator - bidirectional_iterator_tag
Descrizione
È utilizzato per identificare la categoria di un iteratore come iteratore bidirezionale e l'iteratore bidirezionale 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 iteratori 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 lo precede un valore iteratore dereferenziabile ). |
--un un-- *un-- |
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 iteratori 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 lo precede un valore iteratore dereferenziabile ). |
--un un-- *un-- |
I valori L sono scambiabili . | swap(a,b) |
Dichiarazione
Di seguito è riportata la dichiarazione per std :: bidirectional_iterator_tag.
C ++ 11
struct bidirectional_iterator_tag {}