Clase ICollectionOnSTLImpl
Esta clase proporciona métodos usados en una clase de colección.
Sintaxis
template <class T, class CollType, class ItemType, class CopyItem, class EnumType>
class ICollectionOnSTLImpl : public T
Parámetros
T
Interfaz de colección COM.
CollType
Una clase contenedora de la Biblioteca estándar de C++.
ItemType
El tipo de elemento expuesto por la interfaz del contenedor.
CopyItem
Una clase de directiva de copia.
EnumType
Clase de enumerador compatible con CComEnumOnSTL.
Miembros
Métodos públicos
Nombre | Descripción |
---|---|
ICollectionOnSTLImpl::get__NewEnum | Devuelve un objeto enumerador para la colección. |
ICollectionOnSTLImpl::getcount | Devuelve el número de elementos de la colección. |
ICollectionOnSTLImpl::get_Item | Devuelve el elemento solicitado de la colección. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
ICollectionOnSTLImpl::m_coll | La colección. |
Comentarios
Esta clase proporciona la implementación de tres métodos de una interfaz de colección: getcount, get_Item y get__NewEnum.
Para usar esta clase:
Define (o solicite) una interfaz de colección que quiera implementar.
Derive la clase de una especialización de
ICollectionOnSTLImpl
basada en una interfaz de colección.Use la clase derivada para implementar los métodos de la interfaz de colección no están gestionados por
ICollectionOnSTLImpl
.
Nota:
Si la interfaz de colección es una interfaz dual, derive la clase de IDispatchImpl y pase la especialización ICollectionOnSTLImpl
como primer parámetro de plantilla si quiere que ATL proporcione la implementación de los métodos IDispatch
.
- Agregue elementos al miembro m_coll para rellenar la colección.
Para obtener más información y ejemplos, consulte Colecciones y enumeradores de ATL.
Jerarquía de herencia
T
ICollectionOnSTLImpl
Requisitos
Encabezado: atlcom.h
ICollectionOnSTLImpl::getcount
Este método devuelve el número de elementos en la colección.
STDMETHOD(getcount)(long* pcount);
Parámetros
pcount
[out] Número de elementos de la colección.
Valor devuelto
Valor HRESULT estándar.
ICollectionOnSTLImpl::get_Item
Este método devuelve el elemento especificado a la colección.
STDMETHOD(get_Item)(long Index, ItemType* pvar);
Parámetros
Índice
[in] El índice basado en 1 de un elemento de la colección.
pvar
[out] Elemento que corresponde a Index.
Valor devuelto
Valor HRESULT estándar.
Comentarios
El elemento se obtiene cuando se copian los datos en la posición especificada en m_coll usando el método copy de la clase de directiva de copia pasada como argumento de plantilla en la especialización ICollectionOnSTLImpl
.
ICollectionOnSTLImpl::get__NewEnum
Devuelve un objeto enumerador para la colección.
STDMETHOD(get__NewEnum)(IUnknown** ppUnk);
Parámetros
ppUnk
[out] El puntero IUnknown de un objeto enumerador recién creado.
Valor devuelto
Valor HRESULT estándar.
Comentarios
El enumerador recién creado mantiene un iterador en la colección original, m_coll
, (por lo que no se realiza ninguna copia) y contiene una referencia COM en el objeto de la colección para asegurarse de que la colección permanece activa mientras hay enumeradores pendientes.
ICollectionOnSTLImpl::m_coll
Este miembro contiene los elementos que representa la colección.
CollType m_coll;
Consulte también
Ejemplo de ATLCollections
Información general sobre la clase