CElementTraitsBase 类

此类为集合类提供默认副本和移动方法。

语法

template<typename T>
class CElementTraitsBase

参数

T
要存储在集合中的数据类型。

成员

公共 Typedef

名称 描述
CElementTraitsBase::INARGTYPE 用于将元素添加到集合类对象的数据类型。
CElementTraitsBase::OUTARGTYPE 用于从集合类对象中检索元素的数据类型。

公共方法

名称 描述
CElementTraitsBase::CopyElements 调用此方法以复制存储在集合类对象中的元素。
CElementTraitsBase::RelocateElements 调用此方法以重定位存储在集合类对象中的元素。

备注

此基类定义用于复制和重定位集合类中的元素的方法。 它由 CDefaultElementTraitsCStringRefElementTraitsCStringElementTraitsI 类使用。

有关详细信息,请参阅 ATL 集合类

要求

标头:atlcoll.h

CElementTraitsBase::CopyElements

调用此方法以复制存储在集合类对象中的元素。

static void CopyElements(
    T* pDest,
    const T* pSrc,
    size_t nElements);

参数

pDest
指向将接收复制数据的第一个元素的指针。

pSrc
指向要复制的第一个元素的指针。

nElements
要复制的元素数。

注解

源和目标元素不应重叠。

CElementTraitsBase::INARGTYPE

用于将元素添加到集合的数据类型。

typedef const T& INARGTYPE;

CElementTraitsBase::OUTARGTYPE

用于从集合中检索元素的数据类型。

typedef T& OUTARGTYPE;

CElementTraitsBase::RelocateElements

调用此方法以重定位存储在集合类对象中的元素。

static void RelocateElements(
    T* pDest,
    T* pSrc,
    size_t nElements);

参数

pDest
指向将接收重定向数据的第一个元素的指针。

pSrc
指向要重定位的第一个元素的指针。

nElements
要重新定位的元素数。

备注

此方法调用 memmove,可满足大多数数据类型。 如果要移动的对象包含指向其自己的成员的指针,则需要重写此方法。

另请参阅

类概述