CElementTraitsBase 类
此类为集合类提供默认副本和移动方法。
语法
template<typename T>
class CElementTraitsBase
参数
T
要存储在集合中的数据类型。
成员
公共 Typedef
名称 | 描述 |
---|---|
CElementTraitsBase::INARGTYPE | 用于将元素添加到集合类对象的数据类型。 |
CElementTraitsBase::OUTARGTYPE | 用于从集合类对象中检索元素的数据类型。 |
公共方法
名称 | 描述 |
---|---|
CElementTraitsBase::CopyElements | 调用此方法以复制存储在集合类对象中的元素。 |
CElementTraitsBase::RelocateElements | 调用此方法以重定位存储在集合类对象中的元素。 |
备注
此基类定义用于复制和重定位集合类中的元素的方法。 它由 CDefaultElementTraits、 CStringRefElementTraits 和 CStringElementTraitsI 类使用。
有关详细信息,请参阅 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,可满足大多数数据类型。 如果要移动的对象包含指向其自己的成员的指针,则需要重写此方法。