Compartir a través de


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