--- description: "Learn more about: Collection Classes" title: "Collection classes in ATL" ms.date: "11/04/2016" ms.topic: "reference" helpviewer_keywords: ["collection classes"] ms.assetid: eff95de6-78ef-4212-9d7d-1dacbdd4cc58 --- # Collection Classes The following classes provide support for arrays, lists, maps, and also traits methods for helping with comparisons and element access. - [CAtlArray](../atl/reference/catlarray-class.md) This class implements an array object. - [CAtlList](../atl/reference/catllist-class.md) This class provides methods for creating and managing a list object. - [CAtlMap](../atl/reference/catlmap-class.md) This class provides methods for creating and managing a map object. - [CAutoPtrArray](../atl/reference/cautoptrarray-class.md) This class provides methods useful when constructing an array of smart pointers. - [CAutoPtrElementTraits](../atl/reference/cautoptrelementtraits-class.md) This class provides methods, static functions, and typedefs useful when creating collections of smart pointers. - [CAutoPtrList](../atl/reference/cautoptrlist-class.md) This class provides methods useful when constructing a list of smart pointers. - [CAutoVectorPtrElementTraits](../atl/reference/cautovectorptrelementtraits-class.md) This class provides methods, static functions, and typedefs useful when creating collections of smart pointers using vector new and delete operators. - [CComQIPtrElementTraits](../atl/reference/ccomqiptrelementtraits-class.md) This class provides methods, static functions, and typedefs useful when creating collections of COM interface pointers. - [CComSafeArray](../atl/reference/ccomsafearray-class.md) This class is a wrapper for the [SAFEARRAY Data Type](/windows/win32/api/oaidl/ns-oaidl-safearray) structure. - [CComSafeArrayBound](../atl/reference/ccomsafearraybound-class.md) This class is a wrapper for a [SAFEARRAYBOUND](/windows/win32/api/oaidl/ns-oaidl-safearraybound) structure. - [CComUnkArray](../atl/reference/ccomunkarray-class.md) This class stores **IUnknown** pointers and is designed to be used as a parameter to the [IConnectionPointImpl](../atl/reference/iconnectionpointimpl-class.md) template class. - [CDefaultCharTraits](../atl/reference/cdefaultchartraits-class.md) This class provides two static functions for converting characters between uppercase and lowercase. - [CDefaultCompareTraits](../atl/reference/cdefaultcomparetraits-class.md) This class provides default element comparison functions. - [CDefaultElementTraits](../atl/reference/cdefaultelementtraits-class.md) This class provides default methods and functions for a collection class. - [CDefaultHashTraits](../atl/reference/cdefaulthashtraits-class.md) This class provides a static function for calculating hash values. - [CElementTraits](../atl/reference/celementtraits-class.md) This class is used by collection classes to provide methods and functions for moving, copying, comparison, and hashing operations. - [CElementTraitsBase](../atl/reference/celementtraitsbase-class.md) This class provides default copy and move methods for a collection class. - [CHeapPtrElementTraits](../atl/reference/cheapptrelementtraits-class.md) This class provides methods, static functions, and typedefs useful when creating collections of heap pointers. - [CHeapPtrList](../atl/reference/cheapptrlist-class.md) This class provides methods useful when constructing a list of heap pointers. - [CInterfaceArray](../atl/reference/cinterfacearray-class.md) This class provides methods useful when constructing an array of COM interface pointers. - [CInterfaceList](../atl/reference/cinterfacelist-class.md) This class provides methods useful when constructing a list of COM interface pointers. - [CPrimitiveElementTraits](../atl/reference/cprimitiveelementtraits-class.md) This class provides default methods and functions for a collection class composed of primitive data types. - [CRBMap](../atl/reference/crbmap-class.md) This class represents a mapping structure, using a Red-Black binary tree. - [CRBMultiMap](../atl/reference/crbmultimap-class.md) This class represents a mapping structure that allows each key to be associated with more than one value, using a Red-Black binary tree. - [CRBTree](../atl/reference/crbtree-class.md) This class provides methods for creating and utilizing a Red-Black tree. - [CSimpleArray](../atl/reference/csimplearray-class.md) This class provides methods for managing a simple array. - [CSimpleArrayEqualHelper](../atl/reference/csimplearrayequalhelper-class.md) This class is a helper for the [CSimpleArray](../atl/reference/csimplearray-class.md) class. - [CSimpleArrayEqualHelperFalse](../atl/reference/csimplearrayequalhelperfalse-class.md) This class is a helper for the [CSimpleArray](../atl/reference/csimplearray-class.md) class. - [CSimpleMap](../atl/reference/csimplemap-class.md) This class provides support for a simple mapping array. - [CSimpleMapEqualHelper](../atl/reference/csimplemapequalhelper-class.md) This class is a helper for the [CSimpleMap](../atl/reference/csimplemap-class.md) class. - [CSimpleMapEqualHelperFalse](../atl/reference/csimplemapequalhelperfalse-class.md) This class is a helper for the [CSimpleMap](../atl/reference/csimplemap-class.md) class. - [CStringElementTraits](../atl/reference/cstringelementtraits-class.md) This class provides static functions used by collection classes storing `CString` objects. - [CStringElementTraitsI](../atl/reference/cstringelementtraitsi-class.md) This class provides static functions related to strings stored in collection class objects. It is similar to [CStringElementTraits](../atl/reference/cstringelementtraits-class.md), but performs case-insensitive comparisons. - [CStringRefElementTraits](../atl/reference/cstringrefelementtraits-class.md) This class provides static functions related to strings stored in collection class objects. The string objects are dealt with as references. ## Related Articles [ATL collection class overview](../atl/atl-collection-classes.md) ## See also [Class Overview](../atl/atl-class-overview.md)
[Collection Classes](../atl/atl-collection-classes.md)