queue
(STL/CLR)
La classe de modèle décrit un objet qui contrôle une séquence de longueur variable d’éléments qui disposent d’un accès premier entrant en premier sorti. Utilisez l’adaptateur queue
de conteneur pour gérer un conteneur sous-jacent en tant que file d’attente.
Dans la description suivante, GValue
est la même que Value
si ce dernier est un type ref, auquel cas il s’agit Value^
. De même, GContainer
c’est la même que Container
si ce dernier est un type ref, auquel cas il s’agit Container^
.
Syntaxe
template<typename Value,
typename Container>
ref class queue
: public
System::ICloneable,
Microsoft::VisualC::StlClr::IQueue<GValue, GContainer>
{ ..... };
Paramètres
Value
Type d'un élément dans la séquence contrôlée.
Container
Type du conteneur sous-jacent.
Spécifications
En-tête : <cliext/queue>
Espace de noms : cliext
Important
Pour compiler les exemples de cette rubrique, vérifiez que vous avez installé la prise en charge de C++/CLI, comme décrit dans Installer la prise en charge de C++/CLI dans Visual Studio 2022. Pour le type de projet, créez une application console CLR (.NET Framework).
Déclarations
Définition de types | Description |
---|---|
queue::const_reference |
Type d'une référence constante à un élément. |
queue::container_type |
Type du conteneur sous-jacent. |
queue::difference_type |
Type d'une distance signée entre deux éléments. |
queue::generic_container |
Type de l’interface générique pour l’adaptateur de conteneur. |
queue::generic_value |
Type d’un élément pour l’interface générique de l’adaptateur de conteneur. |
queue::reference |
Type d'une référence à un élément. |
queue::size_type |
Type d'une distance signée entre deux éléments. |
queue::value_type |
Type d’un élément. |
Fonction membre | Description |
---|---|
queue::assign |
Remplace tous les éléments. |
queue::back |
Accède au dernier élément. |
queue::empty |
Vérifie l'absence d'éléments. |
queue::front |
Accède au premier élément. |
queue::get_container |
Accède au conteneur sous-jacent. |
queue::pop |
Supprime le premier élément. |
queue::push |
Ajoute un nouvel élément. |
queue::queue |
Construit un objet conteneur. |
queue::size |
Compte le nombre d'éléments. |
queue::to_array |
Copie la séquence contrôlée dans un nouveau tableau. |
Propriété | Description |
---|---|
queue::back_item |
Accède au dernier élément. |
queue::front_item |
Accède au premier élément. |
Opérateur | Description |
---|---|
queue::operator= |
Remplace la séquence contrôlée. |
operator!= (file d’attente) |
Détermine si un queue objet n’est pas égal à un autre queue objet. |
operator< (file d’attente) |
Détermine si un queue objet est inférieur à un autre queue objet. |
operator<= (file d’attente) |
Détermine si un queue objet est inférieur ou égal à un autre queue objet. |
operator== (file d’attente) |
Détermine si un queue objet est égal à un autre queue objet. |
operator> (file d’attente) |
Détermine si un queue objet est supérieur à un autre queue objet. |
operator>= (file d’attente) |
Détermine si un queue objet est supérieur ou égal à un autre queue objet. |
Interfaces
Interface | Description |
---|---|
ICloneable | Dupliquer un objet. |
IQueue<Value, Container> |
Conservez l’adaptateur de conteneur générique. |
Notes
L’objet alloue et libère le stockage pour la séquence qu’il contrôle via un conteneur sous-jacent de type Container
qui stocke Value
les éléments et augmente à la demande. L’objet restreint l’accès à l’envoi (push) du premier élément et à l’apparition du dernier élément, en implémentant une file d’attente de première entrée entrante (également appelée file d’attente FIFO, ou simplement une file d’attente).
Membres
queue::assign
Remplace tous les éléments.
Syntaxe
void assign(queue<Value, Container>% right);
Paramètres
right
Adaptateur de conteneur à insérer.
Notes
La fonction membre affecte right.get_container()
au conteneur sous-jacent. Vous l’utilisez pour modifier l’intégralité du contenu de la file d’attente.
Exemple
// cliext_queue_assign.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign a repetition of values
Myqueue c2;
c2.assign(c1);
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
queue::back
Accède au dernier élément.
Syntaxe
reference back();
Notes
La fonction membre retourne une référence au dernier élément de la séquence contrôlée, qui doit être sansmpty. Vous l’utilisez pour accéder au dernier élément, lorsque vous savez qu’il en existe un.
Exemple
// cliext_queue_back.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("back() = {0}", c1.back());
// alter last item and reinspect
c1.back() = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
back() = c
a b x
queue::back_item
Accède au dernier élément.
Syntaxe
property value_type back_item;
Notes
La propriété accède au dernier élément de la séquence contrôlée, qui doit être sansmpty. Vous l’utilisez pour lire ou écrire le dernier élément, lorsque vous savez qu’il en existe un.
Exemple
// cliext_queue_back_item.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("back_item = {0}", c1.back_item);
// alter last item and reinspect
c1.back_item = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
back_item = c
a b x
queue::const_reference
Type d'une référence constante à un élément.
Syntaxe
typedef value_type% const_reference;
Notes
Le type décrit une référence constante à un élément.
Exemple
// cliext_queue_const_reference.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for (; !c1.empty(); c1.pop())
{ // get a const reference to an element
Myqueue::const_reference cref = c1.front();
System::Console::Write("{0} ", cref);
}
System::Console::WriteLine();
return (0);
}
a b c
queue::container_type
Type du conteneur sous-jacent.
Syntaxe
typedef Container value_type;
Notes
Le type est un synonyme du paramètre de modèle Container
.
Exemple
// cliext_queue_container_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c" using container_type
Myqueue::container_type wc1 = c1.get_container();
for each (wchar_t elem in wc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
queue::difference_type
Types d’une distance signée entre deux éléments.
Syntaxe
typedef int difference_type;
Notes
Le type décrit un nombre d’éléments potentiellement négatif.
Exemple
// cliext_queue_difference_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute negative difference
Myqueue::difference_type diff = c1.size();
c1.push(L'd');
c1.push(L'e');
diff -= c1.size();
System::Console::WriteLine("pushing 2 = {0}", diff);
// compute positive difference
diff = c1.size();
c1.pop();
c1.pop();
c1.pop();
diff -= c1.size();
System::Console::WriteLine("popping 3 = {0}", diff);
return (0);
}
a b c
pushing 2 = -2
popping 3 = 3
queue::empty
Vérifie l'absence d'éléments.
Syntaxe
bool empty();
Notes
La fonction membre retourne la valeur true pour une séquence contrôlée vide. Cela équivaut à size() == 0
. Vous l’utilisez pour tester si la valeur queue
est vide.
Exemple
// cliext_queue_empty.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
// clear the container and reinspect
c1.pop();
c1.pop();
c1.pop();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
return (0);
}
a b c
size() = 3
empty() = False
size() = 0
empty() = True
queue::front
Accède au premier élément.
Syntaxe
reference front();
Notes
La fonction membre retourne une reference au premier élément de la séquence contrôlée, qui ne doit pas être vide. Vous l’utilisez pour accéder au premier élément, quand vous savez qu’il en existe un.
Exemple
// cliext_queue_front.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect first item
System::Console::WriteLine("front() = {0}", c1.front());
// alter first item and reinspect
c1.front() = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
front() = a
x b c
queue::front_item
Accède au premier élément.
Syntaxe
property value_type front_item;
Notes
La propriété accède au premier élément de la séquence contrôlée, qui doit être sansmpty. Vous l’utilisez pour lire ou écrire le premier élément, lorsque vous savez qu’il en existe un.
Exemple
// cliext_queue_front_item.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("front_item = {0}", c1.front_item);
// alter last item and reinspect
c1.front_item = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
front_item = a
x b c
queue::generic_container
Type de l’interface générique pour l’adaptateur de conteneur.
Syntaxe
typedef Microsoft::VisualC::StlClr::IQueue<Value>
generic_container;
Notes
Le type décrit l’interface générique pour cette classe d’adaptateur de conteneur de modèle.
Exemple
// cliext_queue_generic_container.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct a generic container
Myqueue::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify generic and display original
gc1->push(L'd');
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify original and display generic
c1.push(L'e');
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
a b c d
a b c d e
queue::generic_value
Type d’un élément à utiliser avec l’interface générique du conteneur.
Syntaxe
typedef GValue generic_value;
Notes
Le type décrit un objet de type GValue
qui décrit la valeur de l’élément stocké à utiliser avec l’interface générique pour cette classe de conteneur de modèle. (GValue
est un value_type
type ref ou value_type^
s’il s’agit value_type
d’un type ref.)
Exemple
// cliext_queue_generic_value.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// get interface to container
Myqueue::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1->get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display in order using generic_value
for (; !gc1->empty(); gc1->pop())
{
Myqueue::generic_value elem = gc1->front();
System::Console::Write("{0} ", elem);
}
System::Console::WriteLine();
return (0);
}
a b c
a b c
a b c
queue::get_container
Accède au conteneur sous-jacent.
Syntaxe
container_type^ get_container();
Notes
La fonction membre retourne le conteneur sous-jacent. Vous l’utilisez pour contourner les restrictions imposées par le wrapper de conteneur.
Exemple
// cliext_queue_get_container.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
queue::operator=
Remplace la séquence contrôlée.
Syntaxe
queue <Value, Container>% operator=(queue <Value, Container>% right);
Paramètres
right
Adaptateur de conteneur à copier.
Notes
L’opérateur membre copie right
dans l’objet, puis retourne *this
. Vous l’utilisez pour remplacer la séquence contrôlée par une copie de la séquence contrôlée dans right
.
Exemple
// cliext_queue_operator_as.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2 = c1;
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
queue::pop
Supprime le premier élément.
Syntaxe
void pop();
Notes
Supprime le premier élément de la séquence contrôlée, qui doit être sansmpty.
Exemple
// cliext_queue_pop.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// pop an element and redisplay
c1.pop();
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
b c
queue::push
Ajoute un nouvel élément.
Syntaxe
void push(value_type val);
Notes
La fonction membre ajoute un élément avec une valeur val
à la fin de la file d’attente. Vous l’utilisez pour ajouter un élément à la file d’attente.
Exemple
// cliext_queue_push.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
queue::queue
Construit un objet d’adaptateur de conteneur.
Syntaxe
queue();
queue(queue<Value, Container>% right);
queue(queue<Value, Container>^ right);
explicit queue(container_type% wrapped);
Paramètres
right
Objet à copier.
wrapped
Conteneur encapsulé à utiliser.
Notes
Constructeur :
queue();
crée un conteneur encapsulé vide. Vous l’utilisez pour spécifier une séquence contrôlée initiale vide.
Constructeur :
queue(queue<Value, Container>% right);
crée un conteneur encapsulé qui est une copie de right.get_container()
. Vous l’utilisez pour spécifier une séquence contrôlée initiale qui est une copie de la séquence contrôlée par l’objet queue
right
.
Constructeur :
queue(queue<Value, Container>^ right);
crée un conteneur encapsulé qui est une copie de right->get_container()
. Vous l’utilisez pour spécifier une séquence contrôlée initiale qui est une copie de la séquence contrôlée par l’objet queue
*right
.
Constructeur :
explicit queue(container_type wrapped);
utilise le conteneur wrapped
existant comme conteneur encapsulé. Vous l’utilisez pour construire un queue
conteneur existant.
Exemple
// cliext_queue_construct.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
#include <cliext/list>
typedef cliext::queue<wchar_t> Myqueue;
typedef cliext::list<wchar_t> Mylist;
typedef cliext::queue<wchar_t, Mylist> Myqueue_list;
int main()
{
// construct an empty container
Myqueue c1;
System::Console::WriteLine("size() = {0}", c1.size());
// construct from an underlying container
Mylist v2(5, L'x');
Myqueue_list c2(v2);
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying another container
Myqueue_list c3(c2);
for each (wchar_t elem in c3.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying another container through handle
Myqueue_list c4(%c2);
for each (wchar_t elem in c4.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
size() = 0
x x x x x
x x x x x
x x x x x
queue::reference
Type d'une référence à un élément.
Syntaxe
typedef value_type% reference;
Notes
Le type décrit une référence à un élément.
Exemple
// cliext_queue_reference.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify back of queue and redisplay
Myqueue::reference ref = c1.back();
ref = L'x';
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b x
queue::size
Compte le nombre d'éléments.
Syntaxe
size_type size();
Notes
La fonction membre retourne la longueur de la séquence contrôlée. Vous l’utilisez pour déterminer le nombre d’éléments actuellement dans la séquence contrôlée. Si tout ce dont vous vous souciez est de savoir si la séquence a une taille différente de zéro, voir empty()
.
Exemple
// cliext_queue_size.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0} starting with 3", c1.size());
// pop an item and reinspect
c1.pop();
System::Console::WriteLine("size() = {0} after popping", c1.size());
// add two elements and reinspect
c1.push(L'a');
c1.push(L'b');
System::Console::WriteLine("size() = {0} after adding 2", c1.size());
return (0);
}
a b c
size() = 3 starting with 3
size() = 2 after popping
size() = 4 after adding 2
queue::size_type
Type d'une distance signée entre deux éléments.
Syntaxe
typedef int size_type;
Notes
Le type décrit un nombre d’éléments non négatifs.
Exemple
// cliext_queue_size_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display initial contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute positive difference
Myqueue::size_type diff = c1.size();
c1.pop();
c1.pop();
diff -= c1.size();
System::Console::WriteLine("size difference = {0}", diff);
return (0);
}
a b c
size difference = 2
queue::to_array
Copie la séquence contrôlée dans un nouveau tableau.
Syntaxe
cli::array<Value>^ to_array();
Notes
La fonction membre retourne un tableau contenant la séquence contrôlée. Vous l’utilisez pour obtenir une copie de la séquence contrôlée sous forme de tableau.
Exemple
// cliext_queue_to_array.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// copy the container and modify it
cli::array<wchar_t>^ a1 = c1.to_array();
c1.push(L'd');
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display the earlier array copy
for each (wchar_t elem in a1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c d
a b c
queue::value_type
Type d’un élément.
Syntaxe
typedef Value value_type;
Notes
Le type est un synonyme du paramètre de modèle Value
.
Exemple
// cliext_queue_value_type.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display reversed contents "a b c" using value_type
for (; !c1.empty(); c1.pop())
{ // store element in value_type object
Myqueue::value_type val = c1.front();
System::Console::Write("{0} ", val);
}
System::Console::WriteLine();
return (0);
}
a b c
operator!=
(file d’attente)
Queue
comparaison différente.
Syntaxe
template<typename Value,
typename Container>
bool operator!=(queue<Value, Container>% left,
queue<Value, Container>% right);
Paramètres
left
Conteneur de gauche à comparer.
right
Conteneur de droite à comparer.
Notes
La fonction d’opérateur retourne !(left == right)
. Vous l’utilisez pour tester si left
les deux files d’attente ne sont pas classées de la même façon que right
lorsque les deux files d’attente sont comparées par élément.
Exemple
// cliext_queue_operator_ne.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] != [a b c] is {0}",
c1 != c1);
System::Console::WriteLine("[a b c] != [a b d] is {0}",
c1 != c2);
return (0);
}
a b c
a b d
[a b c] != [a b c] is False
[a b c] != [a b d] is True
operator<
(file d’attente)
Queue
inférieur à la comparaison.
Syntaxe
template<typename Value,
typename Container>
bool operator<(queue<Value, Container>% left,
queue<Value, Container>% right);
Paramètres
left
Conteneur de gauche à comparer.
right
Conteneur de droite à comparer.
Notes
La fonction d’opérateur retourne true si, pour la position i
la plus basse pour laquelle !(right[i] < left[i])
elle est également vraie.left[i] < right[i]
Sinon, left->size() < right->size()
est retourné. Vous l’utilisez pour tester s’il left
est ordonné avant right
que les deux files d’attente soient comparées par élément.
Exemple
// cliext_queue_operator_lt.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] < [a b c] is {0}",
c1 < c1);
System::Console::WriteLine("[a b c] < [a b d] is {0}",
c1 < c2);
return (0);
}
a b c
a b d
[a b c] < [a b c] is False
[a b c] < [a b d] is True
operator<=
(file d’attente)
Queue
comparaison inférieure ou égale.
Syntaxe
template<typename Value,
typename Container>
bool operator<=(queue<Value, Container>% left,
queue<Value, Container>% right);
Paramètres
left
Conteneur de gauche à comparer.
right
Conteneur de droite à comparer.
Notes
La fonction d’opérateur retourne !(right < left)
. Vous l’utilisez pour tester si left
les deux files d’attente ne sont pas classées après right
l’élément par élément.
Exemple
// cliext_queue_operator_le.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
/ / display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] <= [a b c] is {0}",
c1 <= c1);
System::Console::WriteLine("[a b d] <= [a b c] is {0}",
c2 <= c1);
return (0);
}
a b c
a b d
[a b c] <= [a b c] is True
[a b d] <= [a b c] is False
operator==
(file d’attente)
Queue
comparaison égale.
Syntaxe
template<typename Value,
typename Container>
bool operator==(queue<Value, Container>% left,
queue<Value, Container>% right);
Paramètres
left
Conteneur de gauche à comparer.
right
Conteneur de droite à comparer.
Notes
La fonction opérateur retourne true uniquement si les séquences contrôlées par left
et right
ont la même longueur et, pour chaque position i
, left[i] == right[i]
. Vous l’utilisez pour tester si left
l’ordre est le même que right
lorsque les deux files d’attente sont comparées par élément.
Exemple
// cliext_queue_operator_eq.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] == [a b c] is {0}",
c1 == c1);
System::Console::WriteLine("[a b c] == [a b d] is {0}",
c1 == c2);
return (0);
}
a b c
a b d
[a b c] == [a b c] is True
[a b c] == [a b d] is False
operator>
(file d’attente)
Queue
supérieur à la comparaison.
Syntaxe
template<typename Value,
typename Container>
bool operator>(queue<Value, Container>% left,
queue<Value, Container>% right);
Paramètres
left
Conteneur de gauche à comparer.
right
Conteneur de droite à comparer.
Notes
La fonction d’opérateur retourne right < left
. Vous l’utilisez pour tester si left
elle est ordonnée après right
le moment où les deux files d’attente sont comparées par élément.
Exemple
// cliext_queue_operator_gt.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] > [a b c] is {0}",
c1 > c1);
System::Console::WriteLine("[a b d] > [a b c] is {0}",
c2 > c1);
return (0);
}
a b c
a b d
[a b c] > [a b c] is False
[a b d] > [a b c] is True
operator>=
(file d’attente)
Queue
supérieur ou égal à la comparaison.
Syntaxe
template<typename Value,
typename Container>
bool operator>=(queue<Value, Container>% left,
queue<Value, Container>% right);
Paramètres
left
Conteneur de gauche à comparer.
right
Conteneur de droite à comparer.
Notes
La fonction d’opérateur retourne !(left < right)
. Vous l’utilisez pour tester s’il left
n’est pas ordonné avant right
que les deux files d’attente soient comparées par élément.
Exemple
// cliext_queue_operator_ge.cpp
// compile with: /clr
#include "pch.h"
#include <cliext/queue>
typedef cliext::queue<wchar_t> Myqueue;
int main()
{
Myqueue c1;
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
// display contents "a b c"
for each (wchar_t elem in c1.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
Myqueue c2;
c2.push(L'a');
c2.push(L'b');
c2.push(L'd');
// display contents "a b d"
for each (wchar_t elem in c2.get_container())
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] >= [a b c] is {0}",
c1 >= c1);
System::Console::WriteLine("[a b c] >= [a b d] is {0}",
c1 >= c2);
return (0);
}
a b c
a b d
[a b c] >= [a b c] is True
[a b c] >= [a b d] is False