Share via


Klasse ICollectionOnSTLImpl

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse biedt methoden die worden gebruikt door een verzamelingsklasse.

Syntaxis

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

Parameterwaarden

T
Een COM-verzamelingsinterface.

CollType
Een C++ Standard Library-containerklasse.

ItemType
Het type item dat wordt weergegeven door de containerinterface.

CopyItem-
Een kopieerbeleidsklasse.

EnumType
Een CComEnumOnSTL-compatibele enumerator-klasse.

Leden

Openbare methoden

Naam Description
ICollectionOnSTLImpl::get__NewEnum Retourneert een enumerator-object voor de verzameling.
ICollectionOnSTLImpl::getcount Retourneert het aantal elementen in de verzameling.
ICollectionOnSTLImpl::get_Item Retourneert het aangevraagde item uit de verzameling.

Publieke dataleden

Naam Description
ICollectionOnSTLImpl::m_coll De verzameling.

Opmerkingen

Deze klasse biedt de implementatie voor drie methoden van een verzamelingsinterface: getcount, get_Item en get__NewEnum.

Ga als volgt te werk om deze klasse te gebruiken:

  • Definieer (of leen) een verzamelingsinterface die u wilt implementeren.

  • Leid uw klas af van een specialisatie van op basis van ICollectionOnSTLImpl deze verzamelingsinterface.

  • Gebruik uw afgeleide klasse om methoden uit de verzamelingsinterface te implementeren die niet worden verwerkt door ICollectionOnSTLImpl.

Opmerking

Als de verzamelingsinterface een dubbele interface is, leidt u uw klasse af van IDispatchImpl, waarbij u de ICollectionOnSTLImpl specialisatie doorgeeft als de eerste sjabloonparameter als u wilt dat ATL de implementatie van de IDispatch methoden biedt.

  • Voeg items toe aan het m_coll lid om de verzameling te vullen.

Zie ATL Collections en Enumerators voor meer informatie en voorbeelden.

Overnamehiƫrarchie

T

ICollectionOnSTLImpl

Requirements

Koptekst: atlcom.h

ICollectionOnSTLImpl::getcount

Met deze methode wordt het aantal items in de verzameling geretourneerd.

STDMETHOD(getcount)(long* pcount);

Parameterwaarden

aantal
[uit] Het aantal elementen in de verzameling.

Retourwaarde

Een standaard HRESULT-waarde.

ICollectionOnSTLImpl::get_Item

Met deze methode wordt het opgegeven item uit de verzameling geretourneerd.

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

Parameterwaarden

Index
[in] De op 1 gebaseerde index van een item in de verzameling.

pvar
[uit] Het item dat overeenkomt met Index.

Retourwaarde

Een standaard HRESULT-waarde.

Opmerkingen

Het item wordt verkregen door de gegevens op de opgegeven positie in m_coll te kopiƫren met behulp van de kopieermethode van de kopieerbeleidsklasse die is doorgegeven als een sjabloonargument in de ICollectionOnSTLImpl specialisatie.

ICollectionOnSTLImpl::get__NewEnum

Retourneert een enumerator-object voor de verzameling.

STDMETHOD(get__NewEnum)(IUnknown** ppUnk);

Parameterwaarden

ppUnk
[uit] De IUnknown-aanwijzer van een nieuw gemaakt enumerator-object.

Retourwaarde

Een standaard HRESULT-waarde.

Opmerkingen

De zojuist gemaakte enumerator onderhoudt een iterator op de oorspronkelijke verzameling, m_coll(dus er wordt geen kopie gemaakt) en bevat een COM-verwijzing op het verzamelingsobject om ervoor te zorgen dat de verzameling actief blijft terwijl er uitstekende opsommingstekens zijn.

ICollectionOnSTLImpl::m_coll

Dit lid bevat de items die worden vertegenwoordigd door de verzameling.

CollType m_coll;

Zie ook

ATLCollections-voorbeeld
Overzicht van klassen