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