Classe System::Collections::Generic::Queue

Queue class

Queue class forward declaration.

template<typename T>class Queue : public System::Collections::Generic::IEnumerable<T>
ParametroDescrizione
TTipo di elemento.

Nested classes

Metodi

MetodoDescrizione
virtual Clear()Elimina tutti gli elementi nella coda.
virtual Contains(const T&) constVerifica se la coda contiene un elemento specifico usando l’operatore == per confrontare gli elementi.
data()Accessor della struttura dati sottostante.
data() constAccessor della struttura dati sottostante.
Dequeue()Ottiene l’elemento dall’inizio della coda.
Enqueue(const T&)Inserisce l’elemento alla fine della coda.
virtual get_Count() constOttiene il numero di elementi nella coda.
GetEnumerator() overrideOttiene l’enumeratore per iterare attraverso la coda.
Peek()Ottiene l’elemento dall’inizio della coda, ma non lo rimuove dalla coda.
Queue()Crea una coda vuota.
Queue(int)Crea una coda vuota.
Queue(const SharedPtr<IEnumerable<T>>&)Costruttore di copia.
virtualizeBeginConstIterator() const overrideOttiene l’implementazione dell’iteratore const begin per il contenitore corrente.
virtualizeBeginIterator() overrideOttiene l’implementazione dell’iteratore begin per il contenitore corrente.
virtualizeEndConstIterator() const overrideOttiene l’implementazione dell’iteratore const end per il contenitore corrente.
virtualizeEndIterator() overrideOttiene l’implementazione dell’iteratore end per il contenitore corrente.

Typedefs

TypedefDescrizione
IEnumerablePtrContenitore di elementi dello stesso tipo.
IEnumeratorPtrEnumerator tipo.
queue_tInformazioni RTTI.
ValueTypeQuesto tipo.

Osservazioni

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()
{
  // Crea l'istanza della classe Queue-class.
  auto queue = MakeObject<Queue<int>>();

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

  // Stampa il primo elemento della coda. Il metodo Peek non rimuove alcun elemento dalla coda.
  std::cout << queue->Peek() << std::endl;
  // Stampa gli elementi della coda.
  PrintItems(queue);

  // Stampa il primo elemento della coda. Il metodo Dequeue rimuove un elemento dalla coda.
  std::cout << queue->Dequeue() << std::endl;
  // Stampa gli elementi della coda.
  PrintItems(queue);

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

Vedi anche