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&) constoperator == を使用して要素を比較し、キューが特定の要素を含むかどうかをチェックします。
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 const イテレータの実装を取得します。
virtualizeBeginIterator() override現在のコンテナの begin イテレータの実装を取得します。
virtualizeEndConstIterator() const override現在のコンテナの end const イテレータの実装を取得します。
virtualizeEndIterator() override現在のコンテナの end イテレータの実装を取得します。

Typedefs

型定義説明
IEnumerablePtr同じ型の要素のコンテナです。
IEnumeratorPtrEnumerator 型。
queue_tRTTI 情報。
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
*/

参照