System::Collections::Generic::Queue class

Queue class

Queue class forward declaration.

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

Nested classes

Metoder

MetodBeskrivning
virtual Clear()Tar bort alla element i kön.
virtual Contains(const T&) constKontrollerar om kön innehåller ett specifikt element med operatorn == för att jämföra element.
data()Åtkomst till underliggande datastruktur.
data() constÅtkomst till underliggande datastruktur.
Dequeue()Hämtar objektet från början av kön.
Enqueue(const T&)Lägger till objektet i slutet av kön.
virtual get_Count() constHämtar antalet element i kön.
GetEnumerator() overrideHämtar enumerator för att iterera genom kön.
Peek()Hämtar objektet från början av kön, men tar inte bort det från kön.
Queue()Skapar en tom kö.
Queue(int)Skapar en tom kö.
Queue(const SharedPtr<IEnumerable<T>>&)Kopieringskonstruktor.
virtualizeBeginConstIterator() const overrideHämtar implementationen av begin const iterator för den aktuella behållaren.
virtualizeBeginIterator() overrideHämtar implementationen av begin iterator för den aktuella behållaren.
virtualizeEndConstIterator() const overrideHämtar implementationen av end const iterator för den aktuella behållaren.
virtualizeEndIterator() overrideHämtar implementationen av end iterator för den aktuella behållaren.

Typedefs

TypedefBeskrivning
IEnumerablePtrBehållare med element av samma typ.
IEnumeratorPtrEnumerator typ.
queue_tRTTI-information.
ValueTypeDenna typ.

Anmärkningar

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()
{
  // Skapa en instans av Queue-klassen.
  auto queue = MakeObject<Queue<int>>();

  // Fyll kön.
  queue->Enqueue(1);
  queue->Enqueue(2);
  queue->Enqueue(3);

  // Skriv ut det första köobjektet. Peek-metoden tar inte bort ett objekt från kön.
  std::cout << queue->Peek() << std::endl;
  // Skriv ut köobjekten.
  PrintItems(queue);

  // Skriv ut det första köobjektet. Dequeue-metoden tar bort ett objekt från kön.
  std::cout << queue->Dequeue() << std::endl;
  // Skriv ut köobjekten.
  PrintItems(queue);

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

Se även