Класс CElementTraitsBase
Этот класс предоставляет методы копирования и перемещения по умолчанию для класса коллекции.
Синтаксис
template<typename T>
class CElementTraitsBase
Параметры
T
Тип данных, хранящихся в коллекции.
Участники
Общедоступные определения типов
Имя | Описание |
---|---|
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, который достаточно для большинства типов данных. Если перемещаемые объекты содержат указатели на собственные члены, этот метод должен быть переопределен.