Teilen über


CStringElementTraits-Klasse

Diese Klasse stellt statische Funktionen bereit, die von Auflistungsklassen verwendet werden, die Objekte speichern CString .

Syntax

template <typename T>
class CStringElementTraits

Parameter

T
Der Datentyp, der in der Sammlung gespeichert werden soll.

Member

Öffentliche Typedefs

Name Beschreibung
CStringElementTraits::INARGTYPE Der Datentyp, der zum Hinzufügen von Elementen zum Auflistungsklassenobjekt verwendet werden soll.
CStringElementTraits::OUTARGTYPE Der Datentyp, der zum Abrufen von Elementen aus dem Auflistungsklassenobjekt verwendet werden soll.

Öffentliche Methoden

Name Beschreibung
CStringElementTraits::CompareElements (Statisch) Rufen Sie diese Funktion auf, um zwei Zeichenfolgenelemente für Gleichheit zu vergleichen.
CStringElementTraits::CompareElementsOrdered (Statisch) Rufen Sie diese Funktion auf, um zwei Zeichenfolgenelemente zu vergleichen.
CStringElementTraits::CopyElements (Statisch) Rufen Sie diese Funktion auf, um elemente zu kopieren CString , die in einem Auflistungsklassenobjekt gespeichert sind.
CStringElementTraits::Hash (Statisch) Rufen Sie diese Funktion auf, um einen Hashwert für das angegebene Zeichenfolgenelement zu berechnen.
CStringElementTraits::RelocateElements (Statisch) Rufen Sie diese Funktion auf, um elemente zu verschieben CString , die in einem Auflistungsklassenobjekt gespeichert sind.

Hinweise

Diese Klasse stellt statische Funktionen zum Kopieren, Verschieben und Vergleichen von Zeichenfolgen und zum Erstellen eines Hashwerts bereit. Diese Funktionen sind nützlich, wenn Sie eine Sammlungsklasse zum Speichern von zeichenfolgenbasierten Daten verwenden. Verwenden Sie CStringElementTraitsI , wenn bei Vergleichen zwischen Groß- und Kleinschreibung die Groß-/Kleinschreibung erforderlich ist. Verwenden Sie CStringRefElementTraits , wenn die Zeichenfolgenobjekte als Verweise behandelt werden sollen.

Weitere Informationen finden Sie unter ATL-Auflistungsklassen.

Anforderungen

Kopfzeile: cstringt.h

CStringElementTraits::CompareElements

Rufen Sie diese statische Funktion auf, um zwei Zeichenfolgenelemente für Gleichheit zu vergleichen.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parameter

str1
Das erste Zeichenfolgenelement.

str2
Das zweite Zeichenfolgenelement.

Rückgabewert

Gibt true zurück, wenn die Elemente gleich sind, andernfalls "false".

CStringElementTraits::CompareElementsOrdered

Rufen Sie diese statische Funktion auf, um zwei Zeichenfolgenelemente zu vergleichen.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parameter

str1
Das erste Zeichenfolgenelement.

str2
Das zweite Zeichenfolgenelement.

Rückgabewert

Null, wenn die Zeichenfolgen identisch sind, < 0, wenn str1 kleiner als str2 ist, oder > 0, wenn str1 größer als str2 ist. Die CStringT::Compare-Methode wird verwendet, um die Vergleiche auszuführen.

CStringElementTraits::CopyElements

Rufen Sie diese statische Funktion auf, um elemente zu kopieren CString , die in einem Auflistungsklassenobjekt gespeichert sind.

static void CopyElements(
    T* pDest,
    const T* pSrc,
    size_t nElements);

Parameter

pDest
Zeigen Sie auf das erste Element, das die kopierten Daten empfängt.

pSrc
Zeigen Sie auf das erste zu kopierende Element.

nElements
Die Anzahl der zu kopierenden Elemente.

Hinweise

Die Quell- und Zielelemente sollten nicht überlappen.

CStringElementTraits::Hash

Rufen Sie diese statische Funktion auf, um einen Hashwert für das angegebene Zeichenfolgenelement zu berechnen.

static ULONG Hash(INARGTYPE str);

Parameter

str
Das Zeichenfolgenelement.

Rückgabewert

Gibt einen Hashwert zurück, der mithilfe des Inhalts der Zeichenfolge berechnet wird.

CStringElementTraits::INARGTYPE

Der Datentyp, der zum Hinzufügen von Elementen zum Auflistungsklassenobjekt verwendet werden soll.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

Der Datentyp, der zum Abrufen von Elementen aus dem Auflistungsklassenobjekt verwendet werden soll.

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

Rufen Sie diese statische Funktion auf, um elemente zu verschieben CString , die in einem Auflistungsklassenobjekt gespeichert sind.

static void RelocateElements(
    T* pDest,
    T* pSrc,
    size_t nElements);

Parameter

pDest
Zeigen Sie auf das erste Element, das die verschobenen Daten empfängt.

pSrc
Zeigen Sie auf das erste Zu verschiebende Element.

nElements
Die Anzahl der zu verschiebenden Elemente.

Hinweise

Diese statische Funktion ruft Memmove auf, was für die meisten Datentypen ausreichend ist. Wenn die verschobenen Objekte Zeiger auf ihre eigenen Member enthalten, muss diese statische Funktion überschrieben werden.

Siehe auch

CElementTraitsBase-Klasse
CStringElementTraitsI-Klasse
Klassenübersicht