Condividi tramite


Classe CStringElementTraits

Questa classe fornisce funzioni statiche usate dalle classi di raccolta che archiviano CString oggetti.

Sintassi

template <typename T>
class CStringElementTraits

Parametri

T
Tipo di dati da archiviare nella raccolta.

Membri

Typedef pubblici

Nome Descrizione
CStringElementTraits::INARGTYPE Tipo di dati da utilizzare per l'aggiunta di elementi all'oggetto classe di raccolta.
CStringElementTraits::OUTARGTYPE Tipo di dati da utilizzare per il recupero di elementi dall'oggetto classe di raccolta.

Metodi pubblici

Nome Descrizione
CStringElementTraits::CompareElements (Statico) Chiamare questa funzione per confrontare due elementi stringa per verificarne l'uguaglianza.
CStringElementTraits::CompareElementsOrdered (Statico) Chiamare questa funzione per confrontare due elementi stringa.
CStringElementTraits::CopyElements (Statico) Chiamare questa funzione per copiare CString gli elementi archiviati in un oggetto classe di raccolta.
CStringElementTraits::Hash (Statico) Chiamare questa funzione per calcolare un valore hash per l'elemento stringa specificato.
CStringElementTraits::RelocateElements (Statico) Chiamare questa funzione per rilocare CString gli elementi archiviati in un oggetto classe di raccolta.

Osservazioni:

Questa classe fornisce funzioni statiche per la copia, lo spostamento e il confronto di stringhe e per la creazione di un valore hash. Queste funzioni sono utili quando si usa una classe di raccolta per archiviare dati basati su stringhe. Usare CStringElementTraitsI quando sono necessari confronti senza distinzione tra maiuscole e minuscole. Usare CStringRefElementTraits quando gli oggetti stringa devono essere gestiti come riferimenti.

Per altre informazioni, vedere Classi di raccolta ATL.

Requisiti

Intestazione: cstringt.h

CStringElementTraits::CompareElements

Chiamare questa funzione statica per confrontare due elementi stringa per verificarne l'uguaglianza.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parametri

str1
Primo elemento stringa.

str2
Secondo elemento stringa.

Valore restituito

Restituisce true se gli elementi sono uguali, false in caso contrario.

CStringElementTraits::CompareElementsOrdered

Chiamare questa funzione statica per confrontare due elementi stringa.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parametri

str1
Primo elemento stringa.

str2
Secondo elemento stringa.

Valore restituito

Zero se le stringhe sono identiche, < 0 se str1 è minore di str2 o > 0 se str1 è maggiore di str2. Il metodo CStringT::Compare viene usato per eseguire i confronti.

CStringElementTraits::CopyElements

Chiamare questa funzione statica per copiare CString gli elementi archiviati in un oggetto classe di raccolta.

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

Parametri

pDest
Puntatore al primo elemento che riceverà i dati copiati.

pSrc
Puntatore al primo elemento da copiare.

nElements
Numero degli elementi da copiare.

Osservazioni:

Gli elementi di origine e di destinazione non devono sovrapporsi.

CStringElementTraits::Hash

Chiamare questa funzione statica per calcolare un valore hash per l'elemento stringa specificato.

static ULONG Hash(INARGTYPE str);

Parametri

str
Elemento stringa.

Valore restituito

Restituisce un valore hash, calcolato utilizzando il contenuto della stringa.

CStringElementTraits::INARGTYPE

Tipo di dati da utilizzare per l'aggiunta di elementi all'oggetto classe di raccolta.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

Tipo di dati da utilizzare per il recupero di elementi dall'oggetto classe di raccolta.

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

Chiamare questa funzione statica per rilocare CString gli elementi archiviati in un oggetto classe di raccolta.

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

Parametri

pDest
Puntatore al primo elemento che riceverà i dati rilocati.

pSrc
Puntatore al primo elemento da spostare.

nElements
Numero di elementi da spostare.

Osservazioni:

Questa funzione statica chiama memmove, che è sufficiente per la maggior parte dei tipi di dati. Se gli oggetti spostati contengono puntatori ai propri membri, questa funzione statica dovrà essere sottoposta a override.

Vedi anche

Classe CElementTraitsBase
Classe CStringElementTraitsI
Cenni preliminari sulla classe