System::Collections::Generic::Queue Klasse

Queue class

Queue class forward declaration.

template<typename T>class Queue : public System::Collections::Generic::IEnumerable<T>
ParameterBeschreibung
TElementtyp.

Nested classes

Methoden

MethodeBeschreibung
virtual Clear()Löscht alle Elemente in der Queue.
virtual Contains(const T&) constPrüft, ob die Queue ein bestimmtes Element enthält, indem der Operator == zum Vergleich der Elemente verwendet wird.
data()Zugriff auf die zugrunde liegende Datenstruktur.
data() constZugriff auf die zugrunde liegende Datenstruktur.
Dequeue()Liefert das Element vom Anfang der Queue.
Enqueue(const T&)Fügt ein Element am Ende der Queue ein.
virtual get_Count() constGibt die Anzahl der Elemente in der Queue zurück.
GetEnumerator() overrideGibt einen Enumerator zurück, um die Queue zu durchlaufen.
Peek()Liefert das Element vom Anfang der Queue, entfernt es jedoch nicht aus der Queue.
Queue()Konstruiert eine leere Queue.
Queue(int)Konstruiert eine leere Queue.
Queue(const SharedPtr<IEnumerable<T>>&)Kopierkonstruktor.
virtualizeBeginConstIterator() const overrideGibt die Implementierung des const begin-Iterators für den aktuellen Container zurück.
virtualizeBeginIterator() overrideGibt die Implementierung des begin-Iterators für den aktuellen Container zurück.
virtualizeEndConstIterator() const overrideGibt die Implementierung des const end-Iterators für den aktuellen Container zurück.
virtualizeEndIterator() overrideGibt die Implementierung des end-Iterators für den aktuellen Container zurück.

Typedefs

TypedefBeschreibung
IEnumerablePtrContainer von Elementen desselben Typs.
IEnumeratorPtrEnumerator Typ.
queue_tRTTI-Informationen.
ValueTypeDieser Typ.

Hinweise

Queue container wrapping STL list. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

#include <system/collections/queue.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

void PrintItems(const SmartPtr<IEnumerable<int>> &queue)
{
  for (const int item: queue)
  {
    std::cout << item << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // Erstelle die Instanz der Queue-Klasse.
  auto queue = MakeObject<Queue<int>>();

  // Fülle die Warteschlange.
  queue->Enqueue(1);
  queue->Enqueue(2);
  queue->Enqueue(3);

  // Gib das erste Element der Warteschlange aus. Die Peek-Methode entfernt kein Element aus der Warteschlange.
  std::cout << queue->Peek() << std::endl;
  // Gib die Elemente der Warteschlange aus.
  PrintItems(queue);

  // Gib das erste Element der Warteschlange aus. Die Dequeue-Methode entfernt ein Element aus der Warteschlange.
  std::cout << queue->Dequeue() << std::endl;
  // Gib die Elemente der Warteschlange aus.
  PrintItems(queue);

  return 0;
}
/*
This code example produces the following output:
1
1 2 3
1
2 3
*/

Siehe auch