共用方式為


ICollectionOnSTLImpl 類別

這個類別提供集合類別所使用的方法。

語法

template <class T, class CollType, class ItemType, class CopyItem, class EnumType>
class ICollectionOnSTLImpl : public T

參數

T
COM 集合介面。

CollType
標準連結庫容器類別C++。

ItemType
容器介面所公開的項目類型。

CopyItem
複製 原則類別

EnumType
CComEnumOnSTL 相容列舉值類別。

成員

公用方法

名稱 描述
ICollectionOnSTLImpl::get__NewEnum 傳回集合的列舉值物件。
ICollectionOnSTLImpl::getcount 傳回集合中的元素數目。
ICollectionOnSTLImpl::get_Item 從集合傳回要求的專案。

公用資料成員

名稱 描述
ICollectionOnSTLImpl::m_coll 集合。

備註

這個類別提供集合介面三種方法的實作: getcountget_Itemget__NewEnum

若要使用此類別:

  • 定義您想要實作的集合介面(或借用)。

  • 根據這個集合介面,從的特製化 ICollectionOnSTLImpl 衍生類別。

  • 使用衍生類別,實作集合介面中未由 ICollectionOnSTLImpl處理的任何方法。

注意

如果集合介面是雙重介面,請從 IDispatchImpl 衍生類別,如果您想要 ATL 提供方法的實作IDispatch,請將特製化傳遞ICollectionOnSTLImpl為第一個範本參數。

  • 將專案新增至 m_coll 成員,以填入集合。

如需詳細資訊和範例,請參閱 ATL 集合和列舉值

繼承階層架構

T

ICollectionOnSTLImpl

需求

標頭: atlcom.h

ICollectionOnSTLImpl::getcount

這個方法會傳回集合中的項目數。

STDMETHOD(getcount)(long* pcount);

參數

pcount
[out]集合中的項目數目。

傳回值

標準 HRESULT 值。

ICollectionOnSTLImpl::get_Item

這個方法會從集合傳回指定的專案。

STDMETHOD(get_Item)(long Index, ItemType* pvar);

參數

Index
[in]集合中專案以1起始的索引。

pvar
[out]對應至 Index 的專案。

傳回值

標準 HRESULT 值。

備註

項目是藉由使用在特製化中當做樣板自變數ICollectionOnSTLImpl傳遞之複製原則類別的 copy 方法,在m_coll中指定的位置複製數據來取得。

ICollectionOnSTLImpl::get__NewEnum

傳回集合的列舉值物件。

STDMETHOD(get__NewEnum)(IUnknown** ppUnk);

參數

ppUnk
[out] 新建立列舉值物件的IUnknown 指標。

傳回值

標準 HRESULT 值。

備註

新建立的列舉值會在原始集合上維護反覆運算器( m_coll因此不會建立任何復本),並在集合物件上保留 COM 參考,以確保集合在有未完成的列舉值時仍保持運作。

ICollectionOnSTLImpl::m_coll

這個成員會保存集合所代表的專案。

CollType m_coll;

另請參閱

ATLCollections 範例
類別概觀