Поделиться через


Класс 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
Общие сведения о классе