CBaseList クラス
CBaseList メソッドは、抽象リストを実装する。CBaseList から派生する CGenericList クラス テンプレートは、型チェックと CBaseList クラスより単純な API を提供する。
CBaseList クラスは Microsoft® Foundation Classes (MFC) ライブラリにある CObList を基に作成されている。リスト内の位置は POSITION 構造体によって示される。POSITION 構造体の内部メンバは呼び出し元からアクセスするのではなく、リスト ノードへのポインタとして扱うべきである。リスト内のオブジェクトの位置はオブジェクトが削除されるまで継続して有効である。
リストはそれを含むオブジェクトによるサポートを要求しない。ストレージ管理やオブジェクトのコピーは行わない。オブジェクトは複数のリストに存在し得る。
このクラスの約半数のメソッドは単一オブジェクトである。これらのメソッドはメソッド名に -I の接尾辞を持つ。他のメソッドは完全なリストとして動作する。たとえば、CBaseList::AddAfter メソッドはリストを他のリストの最後に追加する。単一オブジェクトの操作は POSITION 値を返すか、失敗時は NULL を返す。リスト処理は成功時に TRUE を、失敗時に FALSE を返す。
要件
ヘッダー: Wxlist.h で宣言し、Streams.h をインクルードする。
ライブラリ: Strmbase.lib (リテール ビルド) または Strmbasd.lib (デバッグ ビルド)。
プロテクト メンバ変数 | |
m_Count | リストの項目数。 |
m_pFirst | リストの先頭ノードへのポインタ。 |
m_pLast | リストの末尾ノードへのポインタ。 |
プロテクト メソッド | |
GetNextI | 指定した位置にある項目を取得し、位置を進める。 |
GetI | 指定した位置にある項目を取得する。 |
FindI | 指定した項目を保持する最初の位置を取得する。 |
RemoveHeadI | リスト内の最初の項目を削除する。 |
RemoveTailI | リスト内の最後の項目を削除する。 |
RemoveI | 指定した位置にある項目を削除する。 |
AddTailI | リストの末尾に項目を追加する。 |
AddHeadI | リストの先頭に項目を追加する。 |
AddAfterI | 指定した位置の後に項目を挿入する。 |
AddBeforeI | 指定した位置の前に項目を挿入する。 |
パブリック メソッド | |
CBaseList | コンストラクタ メソッド。 |
~CBaseList | デストラクタ メソッド。 |
RemoveAll | リストからすべてのノードを削除する。 |
GetHeadPositionI | リスト内の最初の項目の位置を取得する。 |
GetTailPositionI | リスト内の最後の項目の位置を取得する。 |
GetCountI | リスト内の項目の数を取得する。 |
Next | リストの次の位置を取得する。 |
Prev | リストの前の位置を取得する。 |
AddHead | このリストの前に他のリストを挿入する。 |
AddTail | このリストの後に他のリストを追加する。 |
AddAfter | 指定した位置の後にリストを挿入する。 |
AddBefore | 指定した位置の前にリストを挿入する。 |
MoveToTail | リストを分割し、前側を他のリストの最後に追加する。 |
MoveToHead | リストを分割し、後ろ側を他のリストの前に挿入する。 |
Reverse | リストの順番を逆転する。 |