前のページ次のページ上に戻るホーム SophiaFramework 2.1
SFUArrayList
配列により実装された双方向リストです。
#include <SFUArrayList.hpp>
class SFUArrayList : public SFUWList;
typedef SFUArrayList&          SFUArrayListRef;
typedef SFUArrayList*          SFUArrayListPtr;
typedef SFUArrayList**         SFUArrayListHandle;
typedef const SFUArrayList     ConstSFUArrayList;
typedef const SFUArrayList&    ConstSFUArrayListRef;
typedef const SFUArrayList*    ConstSFUArrayListPtr;
typedef const SFUArrayList**   ConstSFUArrayListHandle;

継承図

SFUArrayList クラスの継承図

解説

SFUArrayList は配列により実装された双方向リストです。

参照

SFUWLinkedList

メンバ

コンストラクタ/デストラクタ
public
SFUArrayList SFUArrayList のコンストラクタです。
public
~SFUArrayList SFUArrayList クラスのデストラクタです。
パブリック関数
public
Append 要素を追加します。
public
Clear (SFUCollection から継承) コレクションの要素をすべて削除します。
public
ElementAt 要素を取得します。
public
Empty (SFUCollection から継承) コレクションが空であるか判定します。
public
GetIterator 単方向イテレータを取得します。
public
GetLastWIterator 双方向イテレータを取得します。
public
GetRoom 容量を取得します。
public
GetSize 要素数を取得します。
public
GetWIterator 双方向イテレータを取得します。
public
IndexOf 先頭から要素を検索します。
public
Insert 要素を挿入します。
public
LastIndexOf 末尾から要素を検索します。
public
Remove 要素を削除します。
public
Replace 要素を置換します。
public
SetRoom 容量を設定します。
public
SetSize 要素数を設定します。
public
operator[] 要素を取得/設定します。
プロテクト関数
protected
static
Equal (SFUCollection から継承)
EqualSPP (SFUCollection から継承) コレクションの要素を比較する関数です。

SFUArrayList::SFUArrayList
SFUArrayList のコンストラクタです。
[ public ]
SFUArrayList(
    UIntN room = 0   // 初期容量
);

解説

配列リストの構築時に、登録する要素数があらかじめ分かっている場合は、 初期容量を指定することでメモリ再割り当てを回避できますので、 性能が向上します。


SFUArrayList::~SFUArrayList
SFUArrayList クラスのデストラクタです。
[ public, virtual ]
~SFUArrayList(Void);

解説

配列リストが破棄されても、その要素のポインタが解放されるわけではありません。 ポインタを解放する必要がある場合は、 配列リストを破棄する前に自前で解放するするようにしてください。

使用例

次の例では、配列リストが破棄される前に、 ポインタ要素を解放しています。

SFUArrayList ar(10);
ar.Append(new SInt16(1));
ar.Append(new SInt16(2));
ar.Append(new SInt16(3));

SFUConstIterator it = ar.GetIterator();
while (it.HasNext()) {
  SInt16* pint = ar.Next();
  delete pint;
}

SFUArrayList::Append
要素を追加します。
[ public, virtual ]
Bool Append(
    ConstVoidPtr elem   // 追加する要素
);

戻り値

要素の追加に成功すると TRUE を返します。 失敗すると FALSE を返します。

参照

SFUArrayList::Insert


SFUArrayList::ElementAt
要素を取得します。
[ public, virtual, const ]
VoidPtr ElementAt(
    SIntN index   // 要素のインデックス
);

参照

SFUArrayList::operator[]


SFUArrayList::GetIterator
単方向イテレータを取得します。
[ public, virtual ]
SFUIterator GetIterator(Void);
[ public, virtual, const ]
SFUConstIterator GetIterator(Void);

参照

SFUArrayList::GetLastWIterator | SFUArrayList::GetWIterator


SFUArrayList::GetLastWIterator
双方向イテレータを取得します。
[ public, virtual ]
SFUWIterator GetLastWIterator(Void);
[ public, virtual, const ]
SFUConstWIterator GetLastWIterator(Void);

参照

SFUArrayList::GetIterator | SFUArrayList::GetWIterator


SFUArrayList::GetRoom
容量を取得します。
[ public, virtual, const ]
UIntN GetRoom(Void);

参照

SFUArrayList::SetRoom


SFUArrayList::GetSize
要素数を取得します。
[ public, virtual, const ]
UIntN GetSize(Void);

参照

SFUArrayList::SetSize


SFUArrayList::GetWIterator
双方向イテレータを取得します。
[ public, virtual ]
SFUWIterator GetWIterator(Void);
[ public, virtual, const ]
SFUConstWIterator GetWIterator(Void);

参照

SFUArrayList::GetIterator | SFUArrayList::GetLastWIterator


SFUArrayList::IndexOf
先頭から要素を検索します。
[ public, virtual ]
SIntN IndexOf(
    ConstVoidPtr elem       // 検索する要素
    EqualSPP equal = NULL   // 同値関数
);

戻り値

先頭から検索して要素が見つかればその要素のインデックスを返します。 見つからなければ -1 を返します。

解説

同値関数に NULL を指定すると、 要素のポインタ アドレスを比較して検索します。

参照

SFUArrayList::LastIndexOf


SFUArrayList::Insert
要素を挿入します。
[ public, virtual ]
Bool Insert(
    SIntN index         // 挿入位置のインデックス
    ConstVoidPtr elem   // 挿入する要素
);

参照

SFUArrayList::Append


SFUArrayList::LastIndexOf
末尾から要素を検索します。
[ public, virtual ]
SIntN LastIndexOf(
    ConstVoidPtr elem       // 検索する要素
    EqualSPP equal = NULL   // 検索に使う同値関数
);

戻り値

末尾から検索して要素が見つかればその要素のインデックスを返します。 見つからなければ -1 を返します。

解説

同値関数に NULL を指定すると、 要素のポインタ アドレスを比較して検索します。

参照

SFUArrayList::IndexOf


SFUArrayList::Remove
要素を削除します。
[ public, virtual ]
VoidPtr Remove(
    SIntN index   // 削除する要素のインデックス
);

参照

SFUArrayList::Replace


SFUArrayList::Replace
要素を置換します。
[ public, virtual ]
VoidPtr Replace(
    SIntN index         // 置換する要素のインデックス
    ConstVoidPtr elem   // 新しい要素
);

戻り値

置換する前の要素を返します。

参照

SFUArrayList::Remove


SFUArrayList::SetRoom
容量を設定します。
[ public, virtual ]
Bool SetRoom(
    UIntN index   // 容量
);

戻り値

容量の設定に成功すると TRUE を返します。 失敗すると FALSE を返します。

参照

SFUArrayList::GetRoom


SFUArrayList::SetSize
要素数を設定します。
[ public, virtual ]
Bool SetSize(
    UIntN size   // 要素数
);

戻り値

要素数の設定に成功すると TRUE を返します。 失敗すると FALSE を返します。

参照

SFUArrayList::GetSize


SFUArrayList::operator[]
要素を取得/設定します。
[ public, virtual, const ]
VoidPtr operator[](
    SIntN index   
);
[ public, virtual ]
VoidPtr & operator[](
    SIntN index   
);

参照

SFUArrayList::ElementAt