queue
(STL/CLR)
Třída šablony popisuje objekt, který řídí různou délkovou sekvenci prvků, které mají přístup při prvním outu. Pomocí adaptéru queue
kontejneru můžete spravovat základní kontejner jako frontu.
V následujícím popisu je stejný jako Value
v případě, GValue
že druhý typ odkazu, v takovém případě je Value^
to . Podobně je to stejné jako Container
v případě, GContainer
že se jedná o typ odkazu, v takovém případě je Container^
to .
Syntaxe
template<typename Value,
typename Container>
ref class queue
: public
System::ICloneable,
Microsoft::VisualC::StlClr::IQueue<GValue, GContainer>
{ ..... };
Parametry
Value
Typ elementu v řízené sekvenci
Container
Typ podkladového kontejneru.
Požadavky
Záhlaví: <cliext/queue>
Obor názvů: cliext
Důležité
Pokud chcete zkompilovat příklady v tomto tématu, ujistěte se, že jste nainstalovali podporu C++/CLI, jak je popsáno v tématu Instalace podpory C++/CLI v sadě Visual Studio 2022. Pro typ projektu vytvořte konzolovou aplikaci CLR (.NET Framework).
Deklarace
Definice typu | Popis |
---|---|
queue::const_reference |
Typ konstantního odkazu na prvek |
queue::container_type |
Typ podkladového kontejneru. |
queue::difference_type |
Typ vzdálenosti se znaménkem mezi dvěma prvky |
queue::generic_container |
Typ obecného rozhraní pro adaptér kontejneru. |
queue::generic_value |
Typ elementu pro obecné rozhraní pro adaptér kontejneru. |
queue::reference |
Typ odkazu na prvek |
queue::size_type |
Typ vzdálenosti se znaménkem mezi dvěma prvky |
queue::value_type |
Typ prvku |
Členová funkce | Popis |
---|---|
queue::assign |
Nahradí všechny prvky. |
queue::back |
Přistupuje k poslednímu prvku. |
queue::empty |
Zkouší, zda nejsou přítomny žádné prvky. |
queue::front |
Přistupuje k prvnímu prvku. |
queue::get_container |
Přistupuje k podkladovému kontejneru. |
queue::pop |
Odebere první prvek. |
queue::push |
Přidá nový poslední prvek. |
queue::queue |
Sestaví objekt kontejneru. |
queue::size |
Spočítá počet prvků. |
queue::to_array |
Zkopíruje řízenou sekvenci do nového pole. |
Vlastnost | Popis |
---|---|
queue::back_item |
Přistupuje k poslednímu prvku. |
queue::front_item |
Přistupuje k prvnímu prvku. |
Operátor | Popis |
---|---|
queue::operator= |
Nahradí řízenou sekvenci. |
operator!= (fronta) |
Určuje, jestli se objekt nerovná jinému queue queue objektu. |
operator< (fronta) |
Určuje, zda queue je objekt menší než jiný queue objekt. |
operator<= (fronta) |
Určuje, zda queue je objekt menší nebo roven jinému queue objektu. |
operator== (fronta) |
Určuje, zda je queue objekt roven jinému queue objektu. |
operator> (fronta) |
Určuje, zda queue je objekt větší než jiný queue objekt. |
operator>= (fronta) |
Určuje, zda queue je objekt větší nebo roven jinému queue objektu. |
Rozhraní
Rozhraní | Popis |
---|---|
ICloneable | Duplikovat objekt |
IQueue<Value, Container> |
Udržujte obecný adaptér kontejneru. |
Poznámky
Objekt přidělí a uvolní úložiště pro sekvenci, kterou řídí prostřednictvím základního kontejneru typu Container
, který ukládá Value
prvky a roste na vyžádání. Objekt omezuje přístup pouze k nasdílení prvního prvku a přeskočení posledního prvku, implementaci fronty prvního v prvním ven (označované také jako fronta FIFO nebo jednoduše fronta).
Členové
queue::assign
Nahradí všechny prvky.
Syntaxe
void assign(queue<Value, Container>% right);
Parametry
right
Adaptér kontejneru, který se má vložit.
Poznámky
Členová funkce se přiřadí right.get_container()
k podkladovému kontejneru. Použijete ho ke změně celého obsahu fronty.
Příklad
// 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
Přistupuje k poslednímu prvku.
Syntaxe
reference back();
Poznámky
Členová funkce vrátí odkaz na poslední prvek řízené sekvence, která musí být neprázdná. Použijete ho pro přístup k poslednímu prvku, pokud víte, že existuje.
Příklad
// 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
Přistupuje k poslednímu prvku.
Syntaxe
property value_type back_item;
Poznámky
Vlastnost přistupuje k poslednímu prvku řízené sekvence, která musí být neprázdná. Použijete ho ke čtení nebo zápisu posledního prvku, pokud víte, že existuje.
Příklad
// 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
Typ konstantního odkazu na prvek
Syntaxe
typedef value_type% const_reference;
Poznámky
Typ popisuje konstantní odkaz na prvek.
Příklad
// 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
Typ podkladového kontejneru.
Syntaxe
typedef Container value_type;
Poznámky
Typ je synonymem pro parametr Container
šablony .
Příklad
// 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
Typy podepsané vzdálenosti mezi dvěma prvky.
Syntaxe
typedef int difference_type;
Poznámky
Typ popisuje pravděpodobně záporný počet prvků.
Příklad
// 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
Zkouší, zda nejsou přítomny žádné prvky.
Syntaxe
bool empty();
Poznámky
Členová funkce vrátí hodnotu true pro prázdnou řízenou sekvenci. Je to ekvivalent .size() == 0
Použijete ho k otestování queue
, jestli je prázdný.
Příklad
// 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
Přistupuje k prvnímu prvku.
Syntaxe
reference front();
Poznámky
Členová funkce vrátí odkaz na první prvek řízené sekvence, která musí být neprázdná. Použijete ho pro přístup k prvnímu prvku, když víte, že existuje.
Příklad
// 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
Přistupuje k prvnímu prvku.
Syntaxe
property value_type front_item;
Poznámky
Vlastnost přistupuje k prvnímu prvku řízené sekvence, která musí být neprázdná. Použijete ho ke čtení nebo zápisu prvního prvku, pokud víte, že existuje.
Příklad
// 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
Typ obecného rozhraní pro adaptér kontejneru.
Syntaxe
typedef Microsoft::VisualC::StlClr::IQueue<Value>
generic_container;
Poznámky
Typ popisuje obecné rozhraní pro tuto třídu adaptéru kontejneru šablony.
Příklad
// 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
Typ elementu pro použití s obecným rozhraním kontejneru.
Syntaxe
typedef GValue generic_value;
Poznámky
Typ popisuje objekt typu GValue
, který popisuje uloženou hodnotu elementu pro použití s obecným rozhraním pro tuto třídu kontejneru šablony. (GValue
je buď value_type
nebo value_type^
je-li value_type
typ odkazu.)
Příklad
// 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
Přistupuje k podkladovému kontejneru.
Syntaxe
container_type^ get_container();
Poznámky
Členová funkce vrátí základní kontejner. Použijete ho k obejití omezení uložených obálkou kontejneru.
Příklad
// 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=
Nahradí řízenou sekvenci.
Syntaxe
queue <Value, Container>% operator=(queue <Value, Container>% right);
Parametry
right
Adaptér kontejneru, který se má zkopírovat.
Poznámky
Operátor člena zkopíruje right
objekt a pak vrátí *this
. Slouží k nahrazení řízené sekvence kopií řízené sekvence v right
.
Příklad
// 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
Odebere první prvek.
Syntaxe
void pop();
Poznámky
Odebere první prvek řízené sekvence, který musí být neprázdný.
Příklad
// 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
Přidá nový poslední prvek.
Syntaxe
void push(value_type val);
Poznámky
Členová funkce přidá prvek s hodnotou val
na konci fronty. Použijete ho k připojení elementu do fronty.
Příklad
// 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
Vytvoří objekt adaptéru kontejneru.
Syntaxe
queue();
queue(queue<Value, Container>% right);
queue(queue<Value, Container>^ right);
explicit queue(container_type% wrapped);
Parametry
right
Objekt, který chcete kopírovat.
wrapped
Zabalený kontejner, který se má použít.
Poznámky
Konstruktor:
queue();
vytvoří prázdný zabalený kontejner. Použijete ho k určení prázdné počáteční řízené sekvence.
Konstruktor:
queue(queue<Value, Container>% right);
vytvoří zabalený kontejner, který je kopií right.get_container()
. Slouží k určení počáteční řízené sekvence, která je kopií sekvence řízené objektem queue
right
.
Konstruktor:
queue(queue<Value, Container>^ right);
vytvoří zabalený kontejner, který je kopií right->get_container()
. Slouží k určení počáteční řízené sekvence, která je kopií sekvence řízené objektem queue
*right
.
Konstruktor:
explicit queue(container_type wrapped);
používá existující kontejner wrapped
jako zabalený kontejner. Použijete ho k vytvoření queue
z existujícího kontejneru.
Příklad
// 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
Typ odkazu na prvek
Syntaxe
typedef value_type% reference;
Poznámky
Typ popisuje odkaz na prvek.
Příklad
// 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
Spočítá počet prvků.
Syntaxe
size_type size();
Poznámky
Členová funkce vrátí délku řízené sekvence. Použijete ho k určení počtu prvků aktuálně v řízené sekvenci. Pokud vám záleží na tom, zda sekvence má nenulové velikosti, podívejte se empty()
na .
Příklad
// 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
Typ vzdálenosti se znaménkem mezi dvěma prvky
Syntaxe
typedef int size_type;
Poznámky
Typ popisuje nezáporný počet prvků.
Příklad
// 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
Zkopíruje řízenou sekvenci do nového pole.
Syntaxe
cli::array<Value>^ to_array();
Poznámky
Členová funkce vrátí matici obsahující řízenou sekvenci. Použijete ji k získání kopie řízené sekvence ve formuláři pole.
Příklad
// 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
Typ prvku
Syntaxe
typedef Value value_type;
Poznámky
Typ je synonymem pro parametr Value
šablony .
Příklad
// 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!=
(fronta)
Queue
nerovná se porovnávání.
Syntaxe
template<typename Value,
typename Container>
bool operator!=(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametry
left
Levý kontejner, který chcete porovnat.
right
Správný kontejner, který chcete porovnat.
Poznámky
Funkce operátoru vrátí !(left == right)
. Použijete ho k otestování, jestli left
není seřazený stejně jako right
když jsou tyto dvě fronty porovnávány elementem.
Příklad
// 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<
(fronta)
Queue
menší než porovnání.
Syntaxe
template<typename Value,
typename Container>
bool operator<(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametry
left
Levý kontejner, který chcete porovnat.
right
Správný kontejner, který chcete porovnat.
Poznámky
Funkce operátoru vrátí hodnotu true if, pro nejnižší pozici i
, pro kterou !(right[i] < left[i])
je také pravda left[i] < right[i]
. V opačném případě se vrátí left->size() < right->size()
. Použijete ho k otestování, zda left
je seřazena před right
tím, než jsou dvě fronty porovnány elementem.
Příklad
// 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<=
(fronta)
Queue
menší než nebo rovno porovnání.
Syntaxe
template<typename Value,
typename Container>
bool operator<=(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametry
left
Levý kontejner, který chcete porovnat.
right
Správný kontejner, který chcete porovnat.
Poznámky
Funkce operátoru vrátí !(right < left)
. Použijete ho k otestování, jestli left
není seřazený po right
porovnání obou front elementem.
Příklad
// 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==
(fronta)
Queue
stejné porovnání.
Syntaxe
template<typename Value,
typename Container>
bool operator==(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametry
left
Levý kontejner, který chcete porovnat.
right
Správný kontejner, který chcete porovnat.
Poznámky
Funkce operátoru vrátí hodnotu true pouze v případě, že sekvence řízené left
a right
mají stejnou délku a pro každou pozici i
, left[i] == right[i]
. Použijete ho k otestování, zda left
je seřazeno stejně jako right
když jsou dvě fronty porovnávány elementem.
Příklad
// 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>
(fronta)
Queue
větší než porovnání.
Syntaxe
template<typename Value,
typename Container>
bool operator>(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametry
left
Levý kontejner, který chcete porovnat.
right
Správný kontejner, který chcete porovnat.
Poznámky
Funkce operátoru vrátí right < left
. Použijete ho k otestování, zda left
je seřazen po right
, když jsou dvě fronty porovnány elementem.
Příklad
// 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>=
(fronta)
Queue
větší než nebo rovno porovnání.
Syntaxe
template<typename Value,
typename Container>
bool operator>=(queue<Value, Container>% left,
queue<Value, Container>% right);
Parametry
left
Levý kontejner, který chcete porovnat.
right
Správný kontejner, který chcete porovnat.
Poznámky
Funkce operátoru vrátí !(left < right)
. Použijete ho k otestování, zda left
není seřazena před right
tím, když jsou tyto dvě fronty porovnány elementem.
Příklad
// 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