Класс 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);
Параметры
Указатель
[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;