Класс CStringElementTraits
Этот класс предоставляет статические функции, используемые классами коллекций CString
, которые хранят объекты.
Синтаксис
template <typename T>
class CStringElementTraits
Параметры
T
Тип данных, хранящихся в коллекции.
Участники
Общедоступные определения типов
Имя | Описание |
---|---|
CStringElementTraits::INARGTYPE | Тип данных, используемый для добавления элементов в объект класса коллекции. |
CStringElementTraits::OUTARGTYPE | Тип данных, используемый для извлечения элементов из объекта класса коллекции. |
Открытые методы
Имя | Описание |
---|---|
CStringElementTraits::CompareElements | (статический) Вызовите эту функцию для сравнения двух строковых элементов для равенства. |
CStringElementTraits::CompareElementsOrdered | (статический) Вызовите эту функцию для сравнения двух строковых элементов. |
CStringElementTraits::CopyElements | (статический) Вызовите эту функцию для копирования CString элементов, хранящихся в объекте класса коллекции. |
CStringElementTraits::Hash | (статический) Вызовите эту функцию, чтобы вычислить хэш-значение для заданного строкового элемента. |
CStringElementTraits::RelocateElements | (статический) Вызовите эту функцию для перемещения CString элементов, хранящихся в объекте класса коллекции. |
Замечания
Этот класс предоставляет статические функции для копирования, перемещения и сравнения строк и создания хэш-значения. Эти функции полезны при использовании класса коллекции для хранения строковых данных. Используйте CStringElementTraitsI , если требуются нечувствительные сравнения регистра. Используйте CStringRefElementTraits , когда строковые объекты должны рассматриваться как ссылки.
Дополнительные сведения см. в разделе "Классы коллекций ATL".
Требования
Заголовок: cstringt.h
CStringElementTraits::CompareElements
Вызовите эту статическую функцию, чтобы сравнить два строковых элемента для равенства.
static bool CompareElements(INARGTYPE str1, INARGTYPE str2);
Параметры
str1
Первый строковый элемент.
str2
Второй строковый элемент.
Возвращаемое значение
Возвращает значение true, если элементы равны, значение false в противном случае.
CStringElementTraits::CompareElementsOrdered
Вызовите эту статическую функцию для сравнения двух строковых элементов.
static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);
Параметры
str1
Первый строковый элемент.
str2
Второй строковый элемент.
Возвращаемое значение
Ноль, если строки идентичны, 0, < если str1 меньше str2 или > 0, если str1 больше str2. Метод CStringT::Compare используется для сравнения.
CStringElementTraits::CopyElements
Вызовите эту статическую функцию, чтобы скопировать CString
элементы, хранящиеся в объекте класса коллекции.
static void CopyElements(
T* pDest,
const T* pSrc,
size_t nElements);
Параметры
pDest
Указатель на первый элемент, который получит скопированные данные.
pSrc
Указатель на первый элемент для копирования.
nElements
Число элементов для копирования.
Замечания
Исходные и конечные элементы не должны перекрываться.
CStringElementTraits::Hash
Вызовите эту статическую функцию, чтобы вычислить хэш-значение для заданного строкового элемента.
static ULONG Hash(INARGTYPE str);
Параметры
str
Строковый элемент.
Возвращаемое значение
Возвращает хэш-значение, вычисляемое с помощью содержимого строки.
CStringElementTraits::INARGTYPE
Тип данных, используемый для добавления элементов в объект класса коллекции.
typedef T::PCXSTR INARGTYPE;
CStringElementTraits::OUTARGTYPE
Тип данных, используемый для извлечения элементов из объекта класса коллекции.
typedef T& OUTARGTYPE;
CStringElementTraits::RelocateElements
Вызовите эту статическую функцию для перемещения CString
элементов, хранящихся в объекте класса коллекции.
static void RelocateElements(
T* pDest,
T* pSrc,
size_t nElements);
Параметры
pDest
Указатель на первый элемент, который получит перемещаемые данные.
pSrc
Указатель на первый элемент для перемещения.
nElements
Количество перемещаемых элементов.
Замечания
Эта статическую функцию вызывает memmove, которая достаточно для большинства типов данных. Если перемещаемые объекты содержат указатели на собственные члены, эта статтическая функция должна быть переопределена.
См. также
Класс CElementTraitsBase
Класс CStringElementTraitsI
Общие сведения о классе