description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: CElementTraitsBase Class |
CElementTraitsBase Class |
11/04/2016 |
|
|
75284caf-347e-4355-a7d8-efc708dd514a |
This class provides default copy and move methods for a collection class.
template<typename T>
class CElementTraitsBase
T
The type of data to be stored in the collection.
Name | Description |
---|---|
CElementTraitsBase::INARGTYPE | The data type to use for adding elements to the collection class object. |
CElementTraitsBase::OUTARGTYPE | The data type to use for retrieving elements from the collection class object. |
Name | Description |
---|---|
CElementTraitsBase::CopyElements | Call this method to copy elements stored in a collection class object. |
CElementTraitsBase::RelocateElements | Call this method to relocate elements stored in a collection class object. |
This base class defines methods for copying and relocating elements in a collection class. It is utilized by the classes CDefaultElementTraits, CStringRefElementTraits, and CStringElementTraitsI.
For more information, see ATL Collection Classes.
Header: atlcoll.h
Call this method to copy elements stored in a collection class object.
static void CopyElements(
T* pDest,
const T* pSrc,
size_t nElements);
pDest
Pointer to the first element that will receive the copied data.
pSrc
Pointer to the first element to copy.
nElements
The number of elements to copy.
The source and destination elements should not overlap.
The data type to use for adding elements to the collection.
typedef const T& INARGTYPE;
The data type to use for retrieving elements from the collection.
typedef T& OUTARGTYPE;
Call this method to relocate elements stored in a collection class object.
static void RelocateElements(
T* pDest,
T* pSrc,
size_t nElements);
pDest
Pointer to the first element that will receive the relocated data.
pSrc
Pointer to the first element to relocate.
nElements
The number of elements to relocate.
This method calls memmove, which is sufficient for most data types. If the objects being moved contain pointers to their own members, this method will need to be overridden.