ATL のコレクションと列挙子
コレクションとは、一連のデータ項目 (生データやその他のオブジェクト) にアクセスするためのインターフェイスを提供する COM オブジェクトです。 一定の基準に従って一連のオブジェクトへのアクセスを提供するインターフェイスを、コレクション インターフェイスと呼びます。
コレクション インターフェイスでは、少なくとも、Count、Item、および _NewEnum の各プロパティを用意する必要があります。Count プロパティはコレクションの項目数を返し、Item プロパティはインデックスに基づいてコレクションの項目を返し、_NewEnum プロパティはコレクションの列挙子を返します。 コレクション インターフェイスでは、コレクションに項目を挿入したりコレクションから項目を削除したりするための、Add メソッドと Remove メソッドを用意することもできます。また、すべての項目を削除する Clear メソッドも用意できます。
列挙子は、コレクション内の各項目に対して反復処理を行うためのインターフェイスを提供する COM オブジェクトです。 列挙子インターフェイスを介して 4 つの必須メソッドのコレクションの要素へのシリアル アクセスを提供します。Next, Skip, Reset, and Clone.
列挙子インターフェイスの詳細については、典型的なインターフェイスとしての IEnumXXXX インターフェイス (ただし、架空のインターフェイスです) に関するトピックを参照してください。
このセクションの内容
ATL コレクションと列挙子のクラス
コレクションと列挙子の実装に役立つ ATL クラスについて簡単に説明し、そのクラスへのリンクを提供します。コレクションと列挙子のインターフェイスのデザイン上の原則
各インターフェイスのデザイン上の原則の違いについて説明します。STL ベースのコレクションの実装
標準テンプレート ライブラリ (STL: Standard Template Library) ベースのコレクションの実装について紹介します。
関連項目
ATL
Active Template Library を使用したプログラミングの概念を説明するトピックへのリンクを示します。ATLCollections サンプル : ICollectionOnSTLImpl、CComEnumOnSTL、およびカスタム コピー ポリシーの各クラスの例
ICollectionOnSTLImpl と CComEnumOnSTL の使用例と、カスタム コピー ポリシー クラスの実装例を示すサンプルです。