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 Warteschlange.
virtual Contains(const T&) constÜberprüft, ob die Warteschlange ein bestimmtes Element enthält, indem der Operator == zum Vergleichen der Elemente verwendet wird.
data()Zugriff auf die zugrunde liegende Datenstruktur.
data() constZugriff auf die zugrunde liegende Datenstruktur.
Dequeue()Ruft das Element am Anfang der Warteschlange ab.
Enqueue(const T&)Fügt ein Element am Ende der Warteschlange ein.
virtual get_Count() constErmittelt die Anzahl der Elemente in der Warteschlange.
GetEnumerator() overrideRuft einen Enumerator ab, um durch die Warteschlange zu iterieren.
Peek()Ruft das Element am Anfang der Warteschlange ab, entfernt es jedoch nicht aus der Warteschlange.
Queue()Erstellt eine leere Warteschlange.
Queue(int)Erstellt eine leere Warteschlange.
Queue(const SharedPtr<IEnumerable<T>>&)Kopierkonstruktor.
virtualizeBeginConstIterator() const overrideLiefert die Implementierung des begin‑const‑Iterators für den aktuellen Container.
virtualizeBeginIterator() overrideLiefert die Implementierung des begin‑Iterators für den aktuellen Container.
virtualizeEndConstIterator() const overrideLiefert die Implementierung des end‑const‑Iterators für den aktuellen Container.
virtualizeEndIterator() overrideLiefert die Implementierung des end‑Iterators für den aktuellen Container.

Typedefs

Typedef.Beschreibung
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