Поделиться через


Класс 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 Коллекция.

Замечания

Этот класс предоставляет реализацию для трех методов интерфейса коллекции: getcount, get_Item и get__NewEnum.

Чтобы использовать этот класс, выполните указанные ниже действия.

  • Определите (или заимствование) интерфейс коллекции, который требуется реализовать.

  • Наследуйте класс от специализации ICollectionOnSTLImpl на основе этого интерфейса коллекции.

  • Используйте производный класс для реализации любых методов из интерфейса коллекции, которые не обрабатываются ICollectionOnSTLImpl.

Примечание.

Если интерфейс коллекции является двойным интерфейсом, наследуйте класс от IDispatchImpl, передав ICollectionOnSTLImpl специализацию в качестве первого параметра шаблона, если требуется, чтобы ATL предоставил реализацию IDispatch методов.

  • Добавьте элементы в элемент 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] Элемент, соответствующий индексу.

Возвращаемое значение

Стандартное значение HRESULT.

Замечания

Элемент получается путем копирования данных по указанной позиции в m_coll с помощью метода копирования класса политики копирования, переданного в качестве аргумента шаблона в ICollectionOnSTLImpl специализации.

ICollectionOnSTLImpl::get__NewEnum

Возвращает объект перечислителя для коллекции.

STDMETHOD(get__NewEnum)(IUnknown** ppUnk);

Параметры

ppUnk
[out] Указатель IUnknown нового объекта перечислителя.

Возвращаемое значение

Стандартное значение HRESULT.

Замечания

Только что созданный перечислитель поддерживает итератор в исходной коллекции , (поэтому копирование не выполняется) и содержит ссылку COM на объект коллекции, чтобы убедиться, что коллекция m_collостается в живых, пока существуют выдающиеся перечислители.

ICollectionOnSTLImpl::m_coll

Этот элемент содержит элементы, представленные коллекцией.

CollType m_coll;

См. также

Пример ATLCollections
Общие сведения о классе