Microsoft DirectX 8.0

CGenericList クラス

CGenericList クラスの階層

タイプ固有のリストを実装するクラス テンプレート。詳細については、「CBaseList」を参照すること。

宣言 : Wxlist.h

このテンプレートを使うには、リスト内のオブジェクトのタイプを定義するテンプレート引数で、タイプ CGenericList の変数を宣言する。たとえば、次の記述は CBaseFilter オブジェクトのリストを宣言している :

CGenericList<CBaseFilter> myFilterList("Filters"); 

便宜上次のリストタイプが定義されている :

typedef CGenericList<CBaseObject> CBaseObjectList;
typedef CGenericList<IUnknown> CBaseInterfaceList;
Public メソッド
CGenericListコンストラクタ メソッド。
~CGenericListデストラクタ メソッド。
GetHeadPositionリスト内の最初の項目の位置を取得する。
GetTailPositionリスト内の最後の項目の位置を取得する。
GetCountリスト内の項目の数を取得する。
GetNext指定した位置の項目を取得し、位置を進める。
Get指定した位置の項目を取得する。
GetHeadリストの先頭項目を取得する。
RemoveHeadリスト内の最初の項目を削除する。
RemoveTailリスト内の最後の項目を削除する。
Remove指定した位置の項目を削除する。
AddBefore指定した位置の前に項目かリストを挿入する。
AddAfter指定した位置の後に項目かリストを挿入する。
AddHeadリストの先頭に項目かリストを追加する。
AddTail項目の末尾に項目かリストを付け加える。
Find指定した項目を保持する最初の位置を取得する。

CGenericList::AddAfter

CGenericList クラス

指定した位置の後に項目かリストを挿入する。

構文

POSITION AddAfter(
    POSITION p,
    OBJECT *pObj
);

パラメータ

p
その後に項目を追加する位置。p が NULL なら、メソッドは項目をリストの先頭に追加する。
pObj
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

戻り値

挿入された項目の位置の ID を返す。

構文

BOOL AddAfter(
    POSITION pos,
    CGenericList<OBJECT> *pList
);

パラメータ

pos
その後に項目を追加する位置。
pList
挿入するリストへのポインタ。

戻り値

成功なら TRUE を、それ以外なら FALSE を返す。

CGenericList::AddBefore

CGenericList クラス

指定した位置の前に項目かリストを挿入する。

構文

POSITION AddBefore(
    POSITION p,
    OBJECT *pObj
);

パラメータ

p
その前に項目を追加する位置。p が NULL なら、メソッドは項目をリストの末尾に追加する。
pObj
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

戻り値

挿入された項目の位置の ID を返す。

構文

BOOL AddBefore(
    POSITION pos,
    CGenericList<OBJECT> *pList
);

パラメータ

pos
その前にリストを挿入する位置。
pList
挿入するリストへのポインタ。

戻り値

成功なら TRUE を、それ以外なら FALSE を返す。

CGenericList::AddHead

CGenericList クラス

リストの先頭に項目かリストを追加する。

構文

POSITION AddHead(
    OBJECT *pObj
);

パラメータ

pObj
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

戻り値

新しい先頭位置を示す POSITION 値を返す。メソッドが失敗すると、戻り値は NULL となる。

構文

BOOL AddHead(
    CGenericList<OBJECT> *pList
);

パラメータ

pList
追加する項目リストへのポインタ。

戻り値

成功なら TRUE を、それ以外なら FALSE を返す。

CGenericList::AddTail

CGenericList クラス

項目の末尾に項目かリストを付け加える。

構文

POSITION AddTail(
    OBJECT *pObj
);

パラメータ

pObj
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

戻り値

新しい末尾位置の POSITION 値を返す。 メソッドが失敗すると、戻り値は NULL となる。

構文

BOOL AddTail(
    CGenericList<OBJECT> *pList
);

パラメータ

pList
付け加えるリストへのポインタ。

戻り値

成功なら TRUE を、それ以外なら FALSE を返す。

CGenericList::CGenericList

CGenericList クラス

コンストラクタ メソッド。

構文

CGenericList(
    TCHAR *pName,
    INT iItems,
    BOOL bLock,
    BOOL bAlert
);

CGenericList(
    TCHAR *pName
);

パラメータ

pName
リスト名へのポインタ。
iItems
ノードキャッシュのサイズ。
bLock
未使用。
bAlert
未使用。

注意

効率のため、CGenericList クラスはリストノードのキャッシュを維持する。リストが保持するおおよその項目数が分かっているのなら、コンストラクタの第 1 バージョンを使用するべきである。第 2 バージョンはデフォルトのキャッシュ サイズを使用する。

CGenericList::~CGenericList

CGenericList クラス

デストラクタ メソッド。

構文

CGenericList(void);

CGenericList::Find

CGenericList クラス

指定した項目を保持する最初の位置を取得する。

構文

POSITION Find(
    OBJECT *pObj
);

パラメータ

pObj
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

戻り値

POSITION 値を返す、リストにその項目がなければ NULL を返す。

CGenericList::Get

CGenericList クラス

指定した位置の項目を取得する。

構文

OBJECT *Get(
    POSITION pos
);

パラメータ

pos
取得すべき項目の位置 ID。

戻り値

Returns a タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

注意

pos が NULL なら、メソッドは NULL を返す。

CGenericList::GetCount

CGenericList クラス

リスト内の項目の数を取得する。

構文

int GetCount(void);

戻り値

リスト内の項目数を返す。

CGenericList::GetHead

CGenericList クラス

リストの先頭項目を取得する。

構文

OBJECT GetHead(void);

戻り値

Returns a タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

CGenericList::GetHeadPosition

CGenericList クラス

リスト内の最初の項目の位置を取得する。

構文

POSITION GetHeadPosition(void);

戻り値

POSITION 値を返す、リストがカラなら NULL を返す。

CGenericList::GetNext

CGenericList クラス

指定した位置の項目を取得し、位置を進める。

構文

OBJECT *GetNext(
    POSITION& rp
);

パラメータ

rp
POSITION 値への参照。

戻り値

タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

注意

このメソッドは位置 ID を次の位置に進める。位置 ID がリストの末尾を越したなら、メソッドは NULL を設定する。

rp が NULL なら、メソッドは NULL を返す。

CGenericList::GetTailPosition

CGenericList クラス

リスト内の最後の項目の位置を取得する。

構文

POSITION GetTailPosition(void);

戻り値

POSITION 値を返す、リストがカラなら NULL を返す。

CGenericList::Remove

CGenericList クラス

指定した位置の項目を削除する。

構文

OBJECT *Remove(
    POSITION pos
    );

パラメータ

pos
削除すべき項目を示す POSITION 値。

戻り値

タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。

注意

このメソッドはリストからノードを削除するが、そのノードに含まれる項目は削除しない。

rp が NULL なら、メソッドは NULL を返す。

CGenericList::RemoveHead

CGenericList クラス

リスト内の最初の項目を削除する。

構文

OBJECT *RemoveHead(void);

戻り値

タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ、リストがカラなら NULL を返す。

注意

このメソッドはリストノードを削除するが、ノードに含まれる項目は削除しない。

CGenericList::RemoveTail

CGenericList クラス

リスト内の最後の項目を削除する。

構文

OBJECT *RemoveTail(void);

戻り値

タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ、リストがカラなら NULL を返す。

注意

このメソッドはリストノードを削除するが、ノードに含まれる項目は削除しない。