System::Collections::Generic::Queue klasse

Queue class

Queue class forward declaration.

template<typename T>class Queue : public System::Collections::Generic::IEnumerable<T>
ParameterBeschrijving
TElementtype.

Nested classes

Methoden

MethodeBeschrijving
virtual Clear()Verwijdert alle elementen in de queue.
virtual Contains(const T&) constControleert of de queue een specifiek element bevat met behulp van operator == om elementen te vergelijken.
data()Toegang tot onderliggende datastructuur.
data() constToegang tot onderliggende datastructuur.
Dequeue()Haalt een item op van het begin van de queue.
Enqueue(const T&)Plaatst een item aan het einde van de queue.
virtual get_Count() constHaalt het aantal elementen in de queue op.
GetEnumerator() overrideHaalt een enumerator op om door de queue te itereren.
Peek()Haalt een item op van het begin van de queue, maar verwijdert het niet uit de queue.
Queue()Construeert een lege queue.
Queue(int)Construeert een lege queue.
Queue(const SharedPtr<IEnumerable<T>>&)Copy-constructor.
virtualizeBeginConstIterator() const overrideHaalt de implementatie van begin const iterator voor de huidige container op.
virtualizeBeginIterator() overrideHaalt de implementatie van begin iterator voor de huidige container op.
virtualizeEndConstIterator() const overrideHaalt de implementatie van end const iterator voor de huidige container op.
virtualizeEndIterator() overrideHaalt de implementatie van end iterator voor de huidige container op.

Typedefs

TypedefBeschrijving
IEnumerablePtrContainer van elementen van hetzelfde type.
IEnumeratorPtrEnumerator type.
queue_tRTTI-informatie.
ValueTypeDit type.

Opmerkingen

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()
{
  // Maak een instantie van de Queue-klasse.
  auto queue = MakeObject<Queue<int>>();

  // Vul de queue.
  queue->Enqueue(1);
  queue->Enqueue(2);
  queue->Enqueue(3);

  // Print het eerste queue-item. De Peek-methode verwijdert geen item uit de queue.
  std::cout << queue->Peek() << std::endl;
  // Print de queue-items.
  PrintItems(queue);

  // Print het eerste queue-item. De Dequeue-methode verwijdert een item uit de queue.
  std::cout << queue->Dequeue() << std::endl;
  // Print de queue-items.
  PrintItems(queue);

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

Zie ook