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
Název | 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
Název | 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.
- Přidejte položky do m_coll člena , který naplní kolekci.
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.
Návratová 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.
Návratová 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.
Návratová 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;