System::Collections::Generic::LinkedList クラス

LinkedList class

LinkedList forward declaration.

template<typename T>class LinkedList : public virtual System::Object,
                                       public System::Collections::Generic::ICollection<T>,
                                       private System::Collections::Invalidatable
パラメーター説明
T含まれる値の型です。

Nested classes

メソッド

メソッド説明
Add(const T&) overrideリストの末尾に element を追加します。
AddAfter(const SharedPtr<LinkedListNode<T>>&, const T&)リストの node の後に element を追加します。
AddAfter(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)リストの node の後に newNode を追加します。
AddBefore(const SharedPtr<LinkedListNode<T>>&, const T&)リストの node の前に element を追加します。
AddBefore(const SharedPtr<LinkedListNode<T>>&, const SharedPtr<LinkedListNode<T>>&)リストの node の前に newNode を追加します。
AddFirst(const T&)リストの先頭に element を追加します。
AddFirst(const SharedPtr<LinkedListNode<T>>&)リストの先頭に newNode を追加します。
AddLast(const T&)リストの末尾に element を追加します。
AddLast(const SharedPtr<LinkedListNode<T>>&)リストの末尾に newNode を追加します。
begin()コレクションの最初の要素へのイテレータを取得します。
begin() constconst 修飾されたコレクションの最初の要素へのイテレータを取得します。
cbegin() constコレクションの最初の const 修飾要素へのイテレータを取得します。
cend() constコレクションの末尾の後にある存在しない const 修飾要素のイテレータを取得します。
Clear() overrideリスト内のすべての要素を削除します。
Contains(const T&) const overrideリストに element が存在するか確認します。
CopyTo(ArrayPtr<T>, int) overrideコンテナのデータを既存の配列要素にコピーします。
crbegin() constコレクションの最後の const 修飾要素(逆順で最初)の逆イテレータを取得します。
crend() constコレクションの開始前にある存在しない const 修飾要素の逆イテレータを取得します。
end()コレクションの末尾の後にある存在しない要素のイテレータを取得します。
end() constconst 修飾されたコレクションの末尾の後にある存在しない要素のイテレータを取得します。
Find(const T&) constリスト内で element を前方方向に検索します。
FindLast(const T&) constリスト内で element を逆方向に検索します。
get_Count() const overrideリストの要素数を取得します。
get_First() constリストの最初の要素へのポインタを取得します。
get_Last() constリストの最後の要素へのポインタを取得します。
GetEnumerator() override現在の LinkedList を反復処理する列挙子を取得します。
LinkedList()空の LinkedList を作成します。
LinkedList(const SharedPtr<IEnumerable<T>>&)コピーコンストラクタ。
rbegin()コレクションの最後の要素(逆順では最初)への逆イテレータを取得します。
rbegin() constconst 修飾されたコレクションの最後の要素(逆順では最初)への逆イテレータを取得します。
Remove(const T&) overrideリストから指定された element の最初の出現を削除します。
Remove(const SharedPtr<LinkedListNode<T>>&)リストからノードを削除します。
RemoveFirst()リストから最初のノードを削除します。
RemoveLast()リストから最後のノードを削除します。
rend()コレクションの開始前に存在しない要素に対する逆イテレータを取得します。
rend() constconst 修飾されたコレクションの開始前に存在しない要素に対する逆イテレータを取得します。
virtualizeBeginConstIterator() const override現在のコンテナの begin const イテレータの実装を取得します。
virtualizeBeginIterator() override現在のコンテナの begin イテレータの実装を取得します。
virtualizeEndConstIterator() const override現在のコンテナの end const イテレータの実装を取得します。
virtualizeEndIterator() override現在のコンテナの end イテレータの実装を取得します。

Typedefs

型定義説明
const_iteratorconst イテレータ型。
const_reverse_iteratorconst 逆イテレータ型。
iteratorイテレータ型。
list_t基礎となるデータ型。
reverse_iterator逆イテレータ型。

備考

リンクリストコンテナ。std::list のラッパーを実装しています。このクラスのオブジェクトは System::MakeObject() 関数を使用してのみ割り当てるべきです。スタック上や operator new を使用してインスタンスを作成しないでください。そうしないとランタイムエラーやアサーション障害が発生します。常にこのクラスを System::SmartPtr ポインタでラップし、そのポインタを関数への引数として使用してください。

#include <system/collections/linkedlist.h>
#include <system/smart_ptr.h>

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

int main()
{
  // LinkedList クラスのインスタンスを作成します。
  auto list = MakeObject<LinkedList<int>>();

  // リンクリストにデータを入力します。
  list->AddFirst(1);
  list->AddLast(30);
  list->AddAfter(list->get_First(), 15);
  list->AddBefore(list->get_Last(), 25);

  // リンクリストの項目を出力します。
  for (const auto item: list)
  {
    std::cout << item << ' ';
  }

  return 0;
}
/*
This code example produces the following output:
1 15 25 30
*/

参照