Classe ICollectionOnSTLImpl
Essa classe fornece métodos usados por uma classe de coleção.
Sintaxe
template <class T, class CollType, class ItemType, class CopyItem, class EnumType>
class ICollectionOnSTLImpl : public T
Parâmetros
T
Uma interface de coleção COM.
CollType
Uma classe de contêiner da Biblioteca Padrão do C++.
ItemType
O tipo de item exposto pela interface do contêiner.
CopyItem
Uma classe de política de cópia.
EnumType
Uma classe de enumerador compatível com CComEnumOnSTL.
Membros
Métodos públicos
Nome | Descrição |
---|---|
ICollectionOnSTLImpl::get__NewEnum | Retorna um enumerador para a coleção. |
ICollectionOnSTLImpl::getcount | Retorna o número de elementos na coleção. |
ICollectionOnSTLImpl::get_Item | Retorna o item da coleção solicitado. |
Membros de Dados Públicos
Nome | Descrição |
---|---|
ICollectionOnSTLImpl::m_coll | A coleção. |
Comentários
Essa classe fornece a implementação de três métodos de uma interface de coleção: getcount, get_Item e get__NewEnum.
Para usar esta classe:
Defina (ou empreste) uma interface de coleção que deseja implementar.
Derive sua classe de uma especialização de
ICollectionOnSTLImpl
com base nessa interface de coleção.Use sua classe derivada para implementar todos os métodos da interface de coleção não tratados por
ICollectionOnSTLImpl
.
Observação
Se a interface de coleção for uma interface dupla, derive sua classe de IDispatchImpl, passando a especialização ICollectionOnSTLImpl
como o primeiro parâmetro de modelo se quiser que a ATL forneça a implementação dos métodos IDispatch
.
- Adicione itens ao membro m_coll para preencher a coleção.
Para obter mais informações e exemplos, confira Enumeradores e Coleções da ATL.
Hierarquia de herança
T
ICollectionOnSTLImpl
Requisitos
Cabeçalho: atlcom.h
ICollectionOnSTLImpl::getcount
Esse método retorna o número de itens na coleção.
STDMETHOD(getcount)(long* pcount);
Parâmetros
pcount
[out] O número de elementos na coleção.
Valor de retorno
Um valor HRESULT padrão.
ICollectionOnSTLImpl::get_Item
Esse método retorna o item especificado da coleção.
STDMETHOD(get_Item)(long Index, ItemType* pvar);
Parâmetros
Index
[in] O índice baseado em 1 de um item na coleção.
pvar
[out] O item correspondente ao Índice.
Valor de retorno
Um valor HRESULT padrão.
Comentários
O item é obtido copiando os dados na posição especificada em m_coll usando o método de cópia da classe de política de cópia passado como um argumento de modelo na especialização ICollectionOnSTLImpl
.
ICollectionOnSTLImpl::get__NewEnum
Retorna um enumerador para a coleção.
STDMETHOD(get__NewEnum)(IUnknown** ppUnk);
Parâmetros
ppUnk
[out] O ponteiro IUnknown de um objeto enumerador recém-criado.
Valor de retorno
Um valor HRESULT padrão.
Comentários
O enumerador recém-criado mantém um iterador na coleção original, m_coll
, (portanto, nenhuma cópia é feita) e mantém uma referência COM no objeto de coleção para garantir que a coleção permaneça viva enquanto houver enumeradores pendentes.
ICollectionOnSTLImpl::m_coll
Esse membro contém os itens representados pela coleção.
CollType m_coll;