Sdílet prostřednictvím


ICollectionOnSTLImpl – třída

Tato třída poskytuje metody používané třídou kolekce.

Syntaxe

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

Parametry

T
Rozhraní kolekce MODELU COM.

Typ kola
Třída kontejneru standardní knihovny C++.

Itemtype
Typ položky vystavené rozhraním kontejneru.

CopyItem
Třída zásady kopírování.

EnumType
A CComEnumOnSTL-compatible enumerator – třída.

Členové

Veřejné metody

Jméno popis
ICollectionOnSTLImpl::get__NewEnum Vrátí objekt enumerátoru pro kolekci.
ICollectionOnSTLImpl::getcount Vrátí počet prvků v kolekci.
ICollectionOnSTLImpl::get_Item Vrátí požadovanou položku z kolekce.

Veřejné datové členy

Jméno popis
ICollectionOnSTLImpl::m_coll Kolekce

Poznámky

Tato třída poskytuje implementaci pro tři metody rozhraní kolekce: getcount, get_Item a get__NewEnum.

Chcete-li použít tuto třídu:

  • Definujte (nebo půjčte) rozhraní kolekce, které chcete implementovat.

  • Odvozujte třídu ze specializace ICollectionOnSTLImpl založené na tomto rozhraní kolekce.

  • Použijte odvozenou třídu k implementaci jakékoli metody z rozhraní kolekce, které nezpracuje ICollectionOnSTLImpl.

Poznámka

Pokud je rozhraní kolekce duální rozhraní, odvodit vaši třídu z IDispatchImpl, předání ICollectionOnSTLImpl specializace jako první parametr šablony, pokud chcete ATL poskytnout implementaci IDispatch metod.

Další informace a příklady najdete v tématu Kolekce a enumerátory ATL.

Hierarchie dědičnosti

T

ICollectionOnSTLImpl

Požadavky

Hlavička: atlcom.h

ICollectionOnSTLImpl::getcount

Tato metoda vrátí počet položek v kolekci.

STDMETHOD(getcount)(long* pcount);

Parametry

pcount
[ven] Počet prvků v kolekci.

Vrácená hodnota

Standardní hodnota HRESULT.

ICollectionOnSTLImpl::get_Item

Tato metoda vrátí zadanou položku z kolekce.

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

Parametry

Index
[v] Index položky v kolekci založený na 1.

pvar
[ven] Položka odpovídající indexu.

Vrácená hodnota

Standardní hodnota HRESULT.

Poznámky

Položka je získána zkopírováním dat na zadané pozici v m_coll pomocí metody kopírování třídy zásad kopírování předané jako argument šablony v ICollectionOnSTLImpl specializaci.

ICollectionOnSTLImpl::get__NewEnum

Vrátí objekt enumerátoru pro kolekci.

STDMETHOD(get__NewEnum)(IUnknown** ppUnk);

Parametry

ppUnk
[ven] Ukazatel IUnknown nově vytvořeného objektu enumerátoru.

Vrácená hodnota

Standardní hodnota HRESULT.

Poznámky

Nově vytvořený enumerátor udržuje iterátor v původní kolekci , m_coll(takže není vytvořena žádná kopie) a uchovává odkaz COM na objekt kolekce, aby se zajistilo, že kolekce zůstane naživu, zatímco existují vynikající výčty.

ICollectionOnSTLImpl::m_coll

Tento člen obsahuje položky reprezentované kolekcí.

CollType m_coll;

Viz také

Ukázka ATLCollections
Přehled třídy