Partager via


deque (STL/CLR)

La classe de modèle décrit un objet qui contrôle une séquence de la longueur variée d'éléments qui a un accès aléatoire.Vous utilisez le conteneur deque pour gérer une séquence d'éléments qui ressemble à un bloc contigu de stockage, mais qui peut développer ou réduire à l'un ou l'autre extrémité sans avoir besoin de copier tous les éléments restants.Elle peut implémenter efficacement double-ended queue.(D'où le nom.)

Dans la description ci-après, GValue est identique qu' Value à moins que ce dernier soit un type référence, auquel cas c'est 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>
    { ..... };

Paramètres

  • Coefficient
    Le type générique d'un élément de la séquence contrôlée.

  • Valeur
    Type d'un élément dans la séquence contrôlée.

Membres

Définition de type

Description

deque::const_iterator (STL/CLR)

Le type d'un itérateur constante pour la séquence contrôlée.

deque::const_reference (STL/CLR)

Le type d'une référence à une constante à un élément.

deque::const_reverse_iterator (STL/CLR)

Le type d'un itérateur inverse constante pour la séquence contrôlée.

deque::difference_type (STL/CLR)

Le type d'une distance signée entre deux éléments.

deque::generic_container (STL/CLR)

Le type de l'interface générique pour le conteneur.

deque::generic_iterator (STL/CLR)

Le type d'un itérateur pour l'interface générique pour le conteneur.

deque::generic_reverse_iterator (STL/CLR)

Le type d'un itérateur inverse pour l'interface générique pour le conteneur.

deque::generic_value (STL/CLR)

Le type d'un élément de l'interface générique pour le conteneur.

deque::iterator (STL/CLR)

Le type d'un itérateur pour la séquence contrôlée.

deque::reference (STL/CLR)

Le type d'une référence à un élément.

deque::reverse_iterator (STL/CLR)

Le type d'un itérateur inverse pour la séquence contrôlée.

deque::size_type (STL/CLR)

Le type d'une distance signée entre deux éléments.

deque::value_type (STL/CLR)

Le type d'un élément.

Fonction membre

Description

deque::assign (STL/CLR)

Remplace tous les éléments.

deque::at (STL/CLR)

Accède à un élément à la position spécifiée.

deque::back (STL/CLR)

Accède au dernier élément.

deque::begin (STL/CLR)

Désigne le début de la séquence contrôlée.

deque::clear (STL/CLR)

Supprime tous les éléments.

deque::deque (STL/CLR)

Construit un objet.

deque::empty (STL/CLR)

Teste si aucun élément n'est présent.

deque::end (STL/CLR)

Désigne la fin de la séquence contrôlée.

deque::erase (STL/CLR)

Supprime les éléments placés aux positions spécifiées.

deque::front (STL/CLR)

Accède au premier élément.

deque::insert (STL/CLR)

Ajoute des éléments à une position spécifiée.

deque::pop_back (STL/CLR)

Supprime le dernier élément.

deque::pop_front (STL/CLR)

Supprime le premier élément.

deque::push_back (STL/CLR)

Ajoute un nouveau dernier élément.

deque::push_front (STL/CLR)

Ajoute un nouvel premier élément.

deque::rbegin (STL/CLR)

Désigne le début de la séquence contrôlée inversée.

deque::rend (STL/CLR)

Désigne la fin de la séquence contrôlée inversée.

deque::resize (STL/CLR)

Change le nombre d'éléments.

deque::size (STL/CLR)

Compte le nombre d'éléments.

deque::swap (STL/CLR)

Échange le contenu de deux conteneurs.

deque::to_array (STL/CLR)

Copie la séquence contrôlée à un nouveau tableau.

Property

Description

deque::back_item (STL/CLR)

Accède au dernier élément.

deque::front_item (STL/CLR)

Accède au premier élément.

Opérateur

Description

deque::operator!= (STL/CLR)

Détermine si deux objets d' deque ne sont pas égales.

deque::operator[] (STL/CLR)

Accède à un élément à la position spécifiée.

operator< (deque) (STL/CLR)

Détermine si un objet d' deque est inférieure un autre objet d' deque .

operator<= (deque) (STL/CLR)

Détermine si un objet d' deque est inférieur ou égal à un autre objet d' deque .

operator= (deque) (STL/CLR)

Remplace la séquence contrôlée.

operator== (deque) (STL/CLR)

Détermine si un objet d' deque équivaut à un autre objet d' deque .

operator> (deque) (STL/CLR)

Détermine si un objet d' deque est supérieur à un autre objet d' deque .

operator>= (deque) (STL/CLR)

Détermine si un objet d' deque est supérieure ou égale à un autre objet d' deque .

Interfaces

Interface

Description

ICloneable

Dupliquez un objet.

IEnumerable

Séquence de parcourir les éléments.

ICollection

Maintenez le groupe d'éléments.

IEnumerable<T>

Séquence par des éléments typés.

ICollection<T>

Maintenez le groupe d'éléments typés.

IList<T>

Maintenez le groupe dimensionné d'éléments typés.

IDeque<valeur>

Maintenez le conteneur générique.

Notes

L'objet alloue et libère le stockage pour la séquence qu'elle contrôle dans un tableau stockée de handles qui les blocs appelés d'éléments d' Value .Le tableau se développe à la demande.La croissance se produit de manière à réduire le coût d'ajouter ou d'ajouter un élément en temps fixe, et aucun élément restant n'est dérangé.Vous pouvez également supprimer un élément à l'un ou l'autre extrémité dans le temps fixe, et sans les éléments restants inquiétants.Ainsi, un deque est un bon candidat pour le conteneur sous-jacent pour la classe de modèle queue (STL/CLR) ou la classe de modèle stack (STL/CLR).

Un objet d' deque prend en charge des itérateurs d'accès aléatoire, ce qui signifie que vous pouvez faire référence à un élément directement donné sa position numérique, compter de zéro pour le premier élément (avant), à deque::size (STL/CLR)() - 1 pour le dernier élément (back).Cela signifie également qu'un deque est un bon candidat pour le conteneur sous-jacent pour la classe de modèle priority_queue (STL/CLR).

Un itérateur de deque enregistre un handle vers l'objet associé de deque, avec la écart de l'élément qu'elle désigne.Vous pouvez utiliser des itérateurs uniquement avec leurs objets conteneurs associés.La écart d'un élément de deque est not nécessairement les mêmes que sa position.Le premier élément inséré a zéro polarisé, l'élément ajouté suivant a 1 polarisé, mais l'élément ajouté suivant a -1 polarisé.

Insérer ou effacer les éléments à l'un ou l'autre extrémité fait not modifient la valeur d'un élément enregistré à toute écart valide.Insertion ou effaçant un élément à l'intérieur, toutefois, la modification d' can la valeur d'élément stockée à une écart données, donc la valeur indiquée par un itérateur peut également être modifiée.(Le conteneur peut devoir copier des éléments vers le haut ou vers le bas pour créer une faille avant une insertion ou pour remplir une faille après un effacer.) Néanmoins, un itérateur de deque reste valide tant que son écart indique un élément valide.De plus, un itérateur valide reste dereferencable -- vous pouvez l'utiliser pour accéder ou modifier sa valeur d'élément qu'il indique -- à condition que son écart ne soit pas égale à la écart de l'itérateur retourné par end().

Effaçant ou suppression d'un élément appelle le destructeur de sa valeur stockée.Détruire le conteneur efface tous les éléments.Ainsi, un conteneur dont le type d'élément est une classe de référence garantit qu'élément ne survit pas au conteneur.La notez, cependant, un conteneur de handles fait not destroy ses éléments.

Configuration requise

en-tête :<cliext/deque>

Cliext del'espace de noms :

Voir aussi

Référence

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Autres ressources

Référence de bibliothèque STL/CLR