Udostępnij za pośrednictwem


Klasa ICollectionOnSTLImpl

Ta klasa udostępnia metody używane przez klasę kolekcji.

Składnia

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

Parametry

T
Interfejs kolekcji COM.

Typ sortowania
Klasa kontenera biblioteki standardowej C++.

Itemtype
Typ elementu uwidocznionego przez interfejs kontenera.

CopyItem
Klasa zasad kopiowania.

Enumtype
Klasa wyliczania zgodna z CComEnumOnSTL.

Członkowie

Metody publiczne

Nazwa/nazwisko opis
ICollectionOnSTLImpl::get__NewEnum Zwraca obiekt modułu wyliczającego dla kolekcji.
ICollectionOnSTLImpl::getcount Zwraca liczbę elementów w kolekcji.
ICollectionOnSTLImpl::get_Item Zwraca żądany element z kolekcji.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
ICollectionOnSTLImpl::m_coll Kolekcja.

Uwagi

Ta klasa udostępnia implementację dla trzech metod interfejsu kolekcji: getcount, get_Item i get__NewEnum.

Aby użyć tej klasy:

  • Zdefiniuj (lub pożyczyj) interfejs kolekcji, który chcesz zaimplementować.

  • Utwórz klasę na podstawie specjalizacji opartej ICollectionOnSTLImpl na tym interfejsie kolekcji.

  • Użyj klasy pochodnej, aby zaimplementować wszystkie metody z interfejsu kolekcji, które nie są obsługiwane przez ICollectionOnSTLImplprogram .

Uwaga

Jeśli interfejs kolekcji jest podwójnym interfejsem, utwórz klasę z interfejsu IDispatchImpl, przekazując specjalizację ICollectionOnSTLImpl jako pierwszy parametr szablonu, jeśli chcesz, aby ATL zapewnić implementację IDispatch metod.

Aby uzyskać więcej informacji i przykładów, zobacz Kolekcje i moduły wyliczania ATL.

Hierarchia dziedziczenia

T

ICollectionOnSTLImpl

Wymagania

Nagłówek: atlcom.h

ICollectionOnSTLImpl::getcount

Ta metoda zwraca liczbę elementów w kolekcji.

STDMETHOD(getcount)(long* pcount);

Parametry

pcount
[out] Liczba elementów w kolekcji.

Wartość zwracana

Standardowa wartość HRESULT.

ICollectionOnSTLImpl::get_Item

Ta metoda zwraca określony element z kolekcji.

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

Parametry

Indeks
[in] Indeks oparty na 1 elemencie w kolekcji.

pvar
[out] Element odpowiadający indeksowi.

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Element jest uzyskiwany przez skopiowanie danych na określoną pozycję w m_coll przy użyciu metody kopiowania klasy zasad przekazanej jako argument szablonu ICollectionOnSTLImpl w specjalizacji.

ICollectionOnSTLImpl::get__NewEnum

Zwraca obiekt modułu wyliczającego dla kolekcji.

STDMETHOD(get__NewEnum)(IUnknown** ppUnk);

Parametry

ppUnk
[out] Wskaźnik IUnknown nowo utworzonego obiektu modułu wyliczającego.

Wartość zwracana

Standardowa wartość HRESULT.

Uwagi

Nowo utworzony moduł wyliczający utrzymuje iterator oryginalnej kolekcji , m_coll(więc nie utworzono kopii) i przechowuje odwołanie COM do obiektu kolekcji, aby upewnić się, że kolekcja pozostaje aktywna, gdy istnieją wybitne moduły wyliczające.

ICollectionOnSTLImpl::m_coll

Ten element członkowski zawiera elementy reprezentowane przez kolekcję.

CollType m_coll;

Zobacz też

Przykład ATLCollections
Omówienie klasy