System::Collections::Generic::Queue class

Queue class

Queue class forward declaration.

template<typename T>class Queue : public System::Collections::Generic::IEnumerable<T>
ParámetroDescripción
TTipo de elemento.

Nested classes

Métodos

MétodoDescripción
virtual Clear()Elimina todos los elementos de la cola.
virtual Contains(const T&) constComprueba si la cola contiene un elemento específico usando el operador == para comparar los elementos.
data()Accesor de la estructura de datos subyacente.
data() constAccesor de la estructura de datos subyacente.
Dequeue()Obtiene el elemento del principio de la cola.
Enqueue(const T&)Coloca el elemento al final de la cola.
virtual get_Count() constObtiene el número de elementos en la cola.
GetEnumerator() overrideObtiene un enumerador para iterar a través de la cola.
Peek()Obtiene el elemento del principio de la cola, pero no lo elimina de la cola.
Queue()Construye una cola vacía.
Queue(int)Construye una cola vacía.
Queue(const SharedPtr<IEnumerable<T>>&)Constructor de copia.
virtualizeBeginConstIterator() const overrideObtiene la implementación del iterador const begin para el contenedor actual.
virtualizeBeginIterator() overrideObtiene la implementación del iterador begin para el contenedor actual.
virtualizeEndConstIterator() const overrideObtiene la implementación del iterador const end para el contenedor actual.
virtualizeEndIterator() overrideObtiene la implementación del iterador end para el contenedor actual.

Typedefs

TypedefDescripción
IEnumerablePtrContenedor de elementos del mismo tipo.
IEnumeratorPtrTipo Enumerator.
queue_tInformación RTTI.
ValueTypeEste tipo.

Observaciones

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()
{
  // Cree la instancia de la clase Queue.
  auto queue = MakeObject<Queue<int>>();

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

  // Imprima el primer elemento de la cola. El método Peek no elimina un elemento de la cola.
  std::cout << queue->Peek() << std::endl;
  // Imprima los elementos de la cola.
  PrintItems(queue);

  // Imprima el primer elemento de la cola. El método Dequeue elimina un elemento de la cola.
  std::cout << queue->Dequeue() << std::endl;
  // Imprima los elementos de la cola.
  PrintItems(queue);

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

Ver también