CElementTraitsBase 類別
這個類別提供集合類別的預設複製和移動方法。
語法
template<typename T>
class CElementTraitsBase
參數
T
要儲存在集合中的數據型別。
成員
公用 Typedefs
名稱 | 描述 |
---|---|
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,這足以應付大部分的數據類型。 如果移動的物件包含其本身成員的指標,則必須覆寫這個方法。