Microsoft DirectX 8.0 |
タイプ固有のリストを実装するクラス テンプレート。詳細については、「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 | 指定した項目を保持する最初の位置を取得する。 |
指定した位置の後に項目かリストを挿入する。
構文
POSITION AddAfter( POSITION p, OBJECT *pObj );
パラメータ
- p
- その後に項目を追加する位置。p が NULL なら、メソッドは項目をリストの先頭に追加する。
- pObj
- タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
戻り値
挿入された項目の位置の ID を返す。
構文
BOOL AddAfter( POSITION pos, CGenericList<OBJECT> *pList );
パラメータ
- pos
- その後に項目を追加する位置。
- pList
- 挿入するリストへのポインタ。
戻り値
成功なら TRUE を、それ以外なら FALSE を返す。
指定した位置の前に項目かリストを挿入する。
構文
POSITION AddBefore( POSITION p, OBJECT *pObj );
パラメータ
- p
- その前に項目を追加する位置。p が NULL なら、メソッドは項目をリストの末尾に追加する。
- pObj
- タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
戻り値
挿入された項目の位置の ID を返す。
構文
BOOL AddBefore( POSITION pos, CGenericList<OBJECT> *pList );
パラメータ
- pos
- その前にリストを挿入する位置。
- pList
- 挿入するリストへのポインタ。
戻り値
成功なら TRUE を、それ以外なら FALSE を返す。
リストの先頭に項目かリストを追加する。
構文
POSITION AddHead( OBJECT *pObj );
パラメータ
- pObj
- タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
戻り値
新しい先頭位置を示す POSITION 値を返す。メソッドが失敗すると、戻り値は NULL となる。
構文
BOOL AddHead( CGenericList<OBJECT> *pList );
パラメータ
- pList
- 追加する項目リストへのポインタ。
戻り値
成功なら TRUE を、それ以外なら FALSE を返す。
項目の末尾に項目かリストを付け加える。
構文
POSITION AddTail( OBJECT *pObj );
パラメータ
- pObj
- タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
戻り値
新しい末尾位置の POSITION 値を返す。 メソッドが失敗すると、戻り値は NULL となる。
構文
BOOL AddTail( CGenericList<OBJECT> *pList );
パラメータ
- pList
- 付け加えるリストへのポインタ。
戻り値
成功なら TRUE を、それ以外なら FALSE を返す。
コンストラクタ メソッド。
構文
CGenericList( TCHAR *pName, INT iItems, BOOL bLock, BOOL bAlert ); CGenericList( TCHAR *pName );
パラメータ
- pName
- リスト名へのポインタ。
- iItems
- ノードキャッシュのサイズ。
- bLock
- 未使用。
- bAlert
- 未使用。
注意
効率のため、CGenericList クラスはリストノードのキャッシュを維持する。リストが保持するおおよその項目数が分かっているのなら、コンストラクタの第 1 バージョンを使用するべきである。第 2 バージョンはデフォルトのキャッシュ サイズを使用する。
デストラクタ メソッド。
構文
CGenericList(void);
指定した項目を保持する最初の位置を取得する。
構文
POSITION Find( OBJECT *pObj );
パラメータ
- pObj
- タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
戻り値
POSITION 値を返す、リストにその項目がなければ NULL を返す。
指定した位置の項目を取得する。
構文
OBJECT *Get( POSITION pos );
パラメータ
- pos
- 取得すべき項目の位置 ID。
戻り値
Returns a タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
注意
pos が NULL なら、メソッドは NULL を返す。
リスト内の項目の数を取得する。
構文
int GetCount(void);
戻り値
リスト内の項目数を返す。
リストの先頭項目を取得する。
構文
OBJECT GetHead(void);
戻り値
Returns a タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
リスト内の最初の項目の位置を取得する。
構文
POSITION GetHeadPosition(void);
戻り値
POSITION 値を返す、リストがカラなら NULL を返す。
指定した位置の項目を取得し、位置を進める。
構文
OBJECT *GetNext( POSITION& rp );
パラメータ
- rp
- POSITION 値への参照。
戻り値
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
注意
このメソッドは位置 ID を次の位置に進める。位置 ID がリストの末尾を越したなら、メソッドは NULL を設定する。
rp が NULL なら、メソッドは NULL を返す。
リスト内の最後の項目の位置を取得する。
構文
POSITION GetTailPosition(void);
戻り値
POSITION 値を返す、リストがカラなら NULL を返す。
指定した位置の項目を削除する。
構文
OBJECT *Remove( POSITION pos );
パラメータ
- pos
- 削除すべき項目を示す POSITION 値。
戻り値
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ。
注意
このメソッドはリストからノードを削除するが、そのノードに含まれる項目は削除しない。
rp が NULL なら、メソッドは NULL を返す。
リスト内の最初の項目を削除する。
構文
OBJECT *RemoveHead(void);
戻り値
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ、リストがカラなら NULL を返す。
注意
このメソッドはリストノードを削除するが、ノードに含まれる項目は削除しない。
リスト内の最後の項目を削除する。
構文
OBJECT *RemoveTail(void);
戻り値
タイプ OBJECT (テンプレート タイプ) のオブジェクトへのポインタ、リストがカラなら NULL を返す。
注意
このメソッドはリストノードを削除するが、ノードに含まれる項目は削除しない。