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 が呼び出されます。 移動されるオブジェクトに独自のメンバーへのポインターが含まれる場合、このメソッドはオーバーライドする必要があります。

関連項目

クラスの概要