Класс System::Collections::Generic::Queue

Queue class

Queue class forward declaration.

template<typename T>class Queue : public System::Collections::Generic::IEnumerable<T>
ПараметрОписание
TТип элемента.

Nested classes

Методы

МетодОписание
virtual Clear()Удаляет все элементы в очереди.
virtual Contains(const T&) constПроверяет, содержит ли очередь определённый элемент, используя оператор == для сравнения элементов.
data()Доступ к базовой структуре данных.
data() constДоступ к базовой структуре данных.
Dequeue()Получает элемент из начала очереди.
Enqueue(const T&)Помещает элемент в конец очереди.
virtual get_Count() constПолучает количество элементов в очереди.
GetEnumerator() overrideПолучает перечислитель для обхода очереди.
Peek()Получает элемент из начала очереди, но не удаляет его из очереди.
Queue()Создаёт пустую очередь.
Queue(int)Создаёт пустую очередь.
Queue(const SharedPtr<IEnumerable<T>>&)Конструктор копирования.
virtualizeBeginConstIterator() const overrideПолучает реализацию константного итератора begin для текущего контейнера.
virtualizeBeginIterator() overrideПолучает реализацию итератора begin для текущего контейнера.
virtualizeEndConstIterator() const overrideПолучает реализацию константного итератора end для текущего контейнера.
virtualizeEndIterator() overrideПолучает реализацию итератора end для текущего контейнера.

Typedefs

Определение типаОписание
IEnumerablePtrКонтейнер элементов одного типа.
IEnumeratorPtrТип Enumerator.
queue_tИнформация RTTI.
ValueTypeЭтот тип.

Примечания

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()
{
  // Создайте экземпляр класса Queue.
  auto queue = MakeObject<Queue<int>>();

  // Заполните очередь.
  queue->Enqueue(1);
  queue->Enqueue(2);
  queue->Enqueue(3);

  // Выведите первый элемент очереди. Метод Peek не удаляет элемент из очереди.
  std::cout << queue->Peek() << std::endl;
  // Выведите элементы очереди.
  PrintItems(queue);

  // Выведите первый элемент очереди. Метод Dequeue удаляет элемент из очереди.
  std::cout << queue->Dequeue() << std::endl;
  // Выведите элементы очереди.
  PrintItems(queue);

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

См. также