System::Collections::Generic::Queue classe

Queue class

Queue class forward declaration.

template<typename T>class Queue : public System::Collections::Generic::IEnumerable<T>
ParamètreDescription
TType d’élément.

Nested classes

Méthodes

MéthodeDescription
virtual Clear()Supprime tous les éléments de la queue.
virtual Contains(const T&) constVérifie si la queue contient un élément spécifique en utilisant l’opérateur == pour comparer les éléments.
data()Accesseur de la structure de données sous-jacente.
data() constAccesseur de la structure de données sous-jacente.
Dequeue()Obtient l’élément du début de la queue.
Enqueue(const T&)Place l’élément à la fin de la queue.
virtual get_Count() constObtient le nombre d’éléments dans la queue.
GetEnumerator() overrideObtient l’énumérateur pour parcourir la queue.
Peek()Obtient l’élément du début de la queue, mais ne le supprime pas de la queue.
Queue()Construit une queue vide.
Queue(int)Construit une queue vide.
Queue(const SharedPtr<IEnumerable<T>>&)Constructeur de copie.
virtualizeBeginConstIterator() const overrideObtient l’implémentation de l’itérateur const begin pour le conteneur actuel.
virtualizeBeginIterator() overrideObtient l’implémentation de l’itérateur begin pour le conteneur actuel.
virtualizeEndConstIterator() const overrideObtient l’implémentation de l’itérateur const end pour le conteneur actuel.
virtualizeEndIterator() overrideObtient l’implémentation de l’itérateur end pour le conteneur actuel.

Typedefs

TypedefDescription
IEnumerablePtrConteneur d’éléments du même type.
IEnumeratorPtrEnumerator type.
queue_tInformations RTTI.
ValueTypeCe type.

Remarques

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()
{
  // Créez l'instance de la classe Queue.
  auto queue = MakeObject<Queue<int>>();

  // Remplissez la queue.
  queue->Enqueue(1);
  queue->Enqueue(2);
  queue->Enqueue(3);

  // Affichez le premier élément de la queue. La méthode Peek ne supprime pas d'élément de la queue.
  std::cout << queue->Peek() << std::endl;
  // Affichez les éléments de la queue.
  PrintItems(queue);

  // Affichez le premier élément de la queue. La méthode Dequeue supprime un élément de la queue.
  std::cout << queue->Dequeue() << std::endl;
  // Affichez les éléments de la queue.
  PrintItems(queue);

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

Voir aussi