We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

ICollectionOnSTLImpl Class

This class provides methods used by a collection class.

template <
   class T,
   class CollType,
   class ItemType,
   class CopyItem,
   class EnumType
class ICollectionOnSTLImpl :
   public T


A COM collection interface.


An STL container class.


The type of item exposed by the container interface.


A copy policy class.


A CComEnumOnSTL-compatible enumerator class.

This class provides the implementation for three methods of a collection interface: get_Count, get_Item, and get__NewEnum.

To use this class:

  • Define (or borrow) a collection interface that you wish to implement.

  • Derive your class from a specialization of ICollectionOnSTLImpl based on this collection interface.

  • Use your derived class to implement any methods from the collection interface not handled by ICollectionOnSTLImpl.


If the collection interface is a dual interface, derive your class from IDispatchImpl, passing the ICollectionOnSTLImpl specialization as the first template parameter if you want ATL to provide the implementation of the IDispatch methods.

  • Add items to the m_coll member to populate the collection.

For more information and examples, see ATL Collections and Enumerators.

Header: atlcom.h