![]() ![]() ![]()
|
SophiaFramework 2.1 |
#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 は配列により実装された双方向リストです。
| コンストラクタ/デストラクタ | ||
|---|---|---|
| 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 から継承) | コレクションの要素を比較する関数です。 | |
[ public ]
SFUArrayList(
UIntN room = 0 // 初期容量
);配列リストの構築時に、登録する要素数があらかじめ分かっている場合は、 初期容量を指定することでメモリ再割り当てを回避できますので、 性能が向上します。
[ 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;
}
[ public, virtual ] Bool Append( ConstVoidPtr elem // 追加する要素 );
要素の追加に成功すると TRUE を返します。 失敗すると FALSE を返します。
[ public, virtual ] SFUIterator GetIterator(Void);
[ public, virtual, const ] SFUConstIterator GetIterator(Void);
[ public, virtual ] SFUWIterator GetLastWIterator(Void);
[ public, virtual, const ] SFUConstWIterator GetLastWIterator(Void);
[ public, virtual, const ] UIntN GetRoom(Void);
[ public, virtual, const ] UIntN GetSize(Void);
[ public, virtual ] SFUWIterator GetWIterator(Void);
[ public, virtual, const ] SFUConstWIterator GetWIterator(Void);
[ public, virtual ] SIntN IndexOf( ConstVoidPtr elem // 検索する要素 EqualSPP equal = NULL // 同値関数 );
先頭から検索して要素が見つかればその要素のインデックスを返します。 見つからなければ -1 を返します。
同値関数に NULL を指定すると、 要素のポインタ アドレスを比較して検索します。
[ public, virtual ] Bool Insert( SIntN index // 挿入位置のインデックス ConstVoidPtr elem // 挿入する要素 );
[ public, virtual ] SIntN LastIndexOf( ConstVoidPtr elem // 検索する要素 EqualSPP equal = NULL // 検索に使う同値関数 );
末尾から検索して要素が見つかればその要素のインデックスを返します。 見つからなければ -1 を返します。
同値関数に NULL を指定すると、 要素のポインタ アドレスを比較して検索します。
[ public, virtual ] VoidPtr Replace( SIntN index // 置換する要素のインデックス ConstVoidPtr elem // 新しい要素 );
置換する前の要素を返します。
容量の設定に成功すると TRUE を返します。 失敗すると FALSE を返します。
要素数の設定に成功すると TRUE を返します。 失敗すると FALSE を返します。
| Copyright(C) 2003 Sophia Cradle Inc., All Rights Reserved. |
![]() ![]() ![]()
|