System::Collections::Generic::Stack クラス

Stack class

Stack class forward declaration.

template<typename T>class Stack : public System::Collections::Generic::IEnumerable<T>
パラメーター説明
T要素型。

Nested classes

メソッド

メソッド説明
AddRange(IEnumerablePtr)要素をスタックに入れます。
virtual Clear()スタックからすべての要素を削除します。
virtual Contains(const T&) constコンテナに特定のアイテムが存在するかチェックします。比較には operator == を使用します。
data()内部データ構造アクセサー。
data() const内部データ構造アクセサー。
virtual get_Count() constスタックの要素数を取得します。
GetEnumerator() override現在のスタックを反復するための列挙子を取得します。
Peek()スタックのトップ要素を取得しますが、スタックからは削除しません。
Pop()スタックの一番上から要素を取得します。
Push(const T&)スタックの一番上に要素を置きます。
Stack()空のスタックを構築します。
Stack(int)空のスタックを構築します。
Stack(IEnumerablePtr)コピーコンストラクタ。
virtual ToArray()スタックを配列に変換します。
virtualizeBeginConstIterator() const override現在のコンテナの begin const イテレータの実装を取得します。
virtualizeBeginIterator() override現在のコンテナの begin イテレータの実装を取得します。
virtualizeEndConstIterator() const override現在のコンテナの end const イテレータの実装を取得します。
virtualizeEndIterator() override現在のコンテナの end イテレータの実装を取得します。

Typedefs

型定義説明
IEnumerablePtr同じ型の要素を含むコレクションです。
IEnumeratorPtrEnumerator 型。
stack_tRTTI 情報。
ValueType値型です。

備考

Stack class wrapping std::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/stack.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

void PrintItems(const SmartPtr<IEnumerable<int>> &stack)
{
  for (const auto item: stack)
  {
    std::cout << item << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // Stack-class のインスタンスを作成します。
  auto stack = MakeObject<Stack<int>>();

  // スタックに要素を詰めます。
  stack->Push(1);
  stack->Push(2);
  stack->Push(3);

  // スタックの最後の項目を出力します。Peek メソッドはスタックから項目を削除しません。
  std::cout << stack->Peek() << std::endl;
  PrintItems(stack);

  // スタックの最後の項目を出力します。Pop メソッドはスタックから項目を削除します。
  std::cout << stack->Pop() << std::endl;
  PrintItems(stack);

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

参照