deque (STL/CLR)

La classe modello vengono descritti un oggetto e controlli di una sequenza variare lunghezza di elementi che ha accesso casuale.Si utilizza il contenitore deque per gestire una sequenza di elementi simile a un blocco contiguo di archiviazione, ma che può crearsi o una riduzione a una delle estremità senza la necessità di copiare tutti gli elementi rimanenti.È quindi possibile implementare in modo efficiente double-ended queue.(Il nome.)

Nella descrizione di seguito, GValue sono gli stessi di Value a meno che quest'ultimo sia un tipo di riferimento, nel qual caso viene Value^.

template<typename Value>
    ref class deque
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IDeque<GValue>
    { ..... };

Parametri

  • Coefficiente G
    Il tipo generico di elemento nella sequenza selezionata.

  • Valore
    Tipo di un elemento nella sequenza controllata.

Membri

Definizione del tipo

Descrizione

deque::const_iterator (STL/CLR)

Il tipo di iteratore costante per la sequenza selezionata.

deque::const_reference (STL/CLR)

Il tipo di riferimento costante a un elemento.

deque::const_reverse_iterator (STL/CLR)

Il tipo di iteratore inverso costante per la sequenza selezionata.

deque::difference_type (STL/CLR)

Il tipo di distanza con segno compreso tra due elementi.

deque::generic_container (STL/CLR)

Il tipo dell'interfaccia generica per il contenitore.

deque::generic_iterator (STL/CLR)

il tipo di iteratore per l'interfaccia generica per il contenitore.

deque::generic_reverse_iterator (STL/CLR)

il tipo di iteratore inverso per l'interfaccia generica per il contenitore.

deque::generic_value (STL/CLR)

il tipo di elemento per l'interfaccia generica per il contenitore.

deque::iterator (STL/CLR)

Il tipo di iteratore per la sequenza selezionata.

deque::reference (STL/CLR)

Il tipo di riferimento a un elemento.

deque::reverse_iterator (STL/CLR)

Il tipo di iteratore inverso per la sequenza selezionata.

deque::size_type (STL/CLR)

Il tipo di distanza con segno compreso tra due elementi.

deque::value_type (STL/CLR)

Il tipo di elemento.

Funzione membro

Descrizione

deque::assign (STL/CLR)

Sostituire tutti gli elementi.

deque::at (STL/CLR)

Accede a un elemento in una posizione specificata.

deque::back (STL/CLR)

Accede all'ultimo elemento.

deque::begin (STL/CLR)

Definisce l'inizio della sequenza controllata.

deque::clear (STL/CLR)

Rimuove tutti gli elementi.

deque::deque (STL/CLR)

Costruisce un oggetto contenitore.

deque::empty (STL/CLR)

Verifica se non sono presenti elementi presenti.

deque::end (STL/CLR)

Definisce la fine della sequenza controllata.

deque::erase (STL/CLR)

Rimuove gli elementi alle posizioni specificate.

deque::front (STL/CLR)

Accede al primo elemento.

deque::insert (STL/CLR)

Aggiunge elementi a una posizione specificata.

deque::pop_back (STL/CLR)

Rimuove l'ultimo elemento.

deque::pop_front (STL/CLR)

Rimuove il primo elemento.

deque::push_back (STL/CLR)

Aggiunge un nuovo l'ultimo elemento.

deque::push_front (STL/CLR)

Aggiunge un nuovo primo elemento.

deque::rbegin (STL/CLR)

Definisce l'inizio della sequenza inversa controllata.

deque::rend (STL/CLR)

Definisce la fine della sequenza inversa controllata.

deque::resize (STL/CLR)

Modifica il numero di elementi.

deque::size (STL/CLR)

Conta il numero di elementi.

deque::swap (STL/CLR)

Scambia il contenuto di due contenitori.

deque::to_array (STL/CLR)

Copia la sequenza selezionata in una nuova matrice.

Proprietà

Descrizione

deque::back_item (STL/CLR)

Accede all'ultimo elemento.

deque::front_item (STL/CLR)

Accede al primo elemento.

Operatore

Descrizione

deque::operator!= (STL/CLR)

Determina se due oggetti di deque non sono uguali.

deque::operator[] (STL/CLR)

Accede a un elemento in una posizione specificata.

operator< (deque) (STL/CLR)

Determina se un oggetto di deque è inferiore a un altro oggetto di deque .

operator<= (deque) (STL/CLR)

Determina se un oggetto di deque è minore o uguale a un altro oggetto di deque .

operator= (deque) (STL/CLR)

Sostituisce la sequenza selezionata.

operator== (deque) (STL/CLR)

Determina se un oggetto di deque equivale a un altro oggetto di deque .

operator> (deque) (STL/CLR)

Determina se un oggetto di deque è maggiore di un altro oggetto di deque .

operator>= (deque) (STL/CLR)

Determina se un oggetto di deque è maggiore o uguale a un altro oggetto di deque .

Interfacce

Interfaccia

Descrizione

ICloneable

Clonare un oggetto.

IEnumerable

Sequenza degli elementi.

ICollection

gestire il gruppo di elementi.

IEnumerable<T>

Sequenza degli elementi tipizzati.

ICollection<T>

gestire il gruppo di elementi tipizzati.

IList<T>

Gestire il gruppo ordinato di elementi tipizzati.

IDeque<valore>

gestire il contenitore generico.

Note

L'oggetto alloca e libera la memoria per la sequenza che controlla da una matrice archiviata di handle che definiscono i blocchi di elementi di Value .La matrice aumentano su richiesta.La crescita si verifica in modo che il costo di anteporre o di aggiungere un nuovo elemento è tempo costante e nessun elemento rimanente è disturbato.È inoltre possibile eliminare un elemento a una delle estremità nel tempo costante e senza alterare gli elementi rimanenti.Pertanto, un deque è un buon candidato per il contenitore sottostante per una classe modello queue (STL/CLR) o classe modello stack (STL/CLR).

Un oggetto di deque supporta gli iteratori di accesso casuale, è possibile fare riferimento a un elemento direttamente in base alla posizione numerica, contante da zero per il primo elemento (precedente), a deque::size (STL/CLR)() - 1 per l'ultimo elemento (precedente).Ne consegue inoltre che un deque è un buon candidato per il contenitore sottostante per una classe modello priority_queue (STL/CLR).

Un iteratore di deque memorizzare l'handle al relativo oggetto associato al deque, con la polarizzazione l'elemento che definisce.È possibile utilizzare gli iteratori solo con i relativi oggetti contenitore associati.La polarizzazione di un elemento di deque è not necessariamente lo stesso della posizione.Il primo elemento inserito contiene zero diagonali, l'elemento aggiunto seguente dispone di 1 diagonali, ma l'elemento anteposto seguente dispone di -1 diagonale.

Inserendo o cancellare gli elementi a una delle estremità fa not modifica il valore di un elemento memorizzato a qualsiasi polarizzazione valida.Inserendo o deselezionando un elemento interno, tuttavia, la modifica di can il valore dell'elemento archiviato in una polarizzazione specificata, pertanto il valore definito da un iteratore anche possibile cambiare.(Il contenitore essere necessario copiare elementi verso l'alto o verso il basso per creare un foro prima di inserimento o per riempire un foro dopo un con.) Tuttavia, un iteratore di deque rimane valido a condizione che la polarizzazione definisca un elemento valido.Inoltre, un iteratore valido rimane dereferencable -- è possibile utilizzarlo per accedere e modificare il valore dell'elemento che definisce -- a condizione che la polarizzazione non è uguale alla polarizzazione per l'iteratore restituito da end().

Cancellando o la rimozione di un elemento chiama il distruttore per il valore archiviato.Eliminare il contenitore di cancellare tutti gli elementi.Pertanto, un contenitore del tipo di elemento è una classe di riferimento garantisce che nessun elemento terminazione il contenitore.Si noti, tuttavia, che un contenitore di handle fa not elimina i relativi elementi.

Requisiti

intestazione: <cliext/deque>

Cliext diSpazio dei nomi:

Vedere anche

Riferimenti

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Altre risorse

Riferimenti alla libreria STL/CLR