Partage via


CStringElementTraits, classe

Cette classe fournit des fonctions statiques utilisées par les classes de collection stockant des CString objets.

Syntaxe

template <typename T>
class CStringElementTraits

Paramètres

T
Type de données à stocker dans la collection.

Membres

Typedefs publics

Nom Description
CStringElementTraits ::INARGTYPE Type de données à utiliser pour ajouter des éléments à l’objet de classe de collection.
CStringElementTraits ::OUTARGTYPE Type de données à utiliser pour récupérer des éléments de l’objet de classe de collection.

Méthodes publiques

Nom Description
CStringElementTraits ::CompareElements (Statique) Appelez cette fonction pour comparer deux éléments de chaîne pour l’égalité.
CStringElementTraits ::CompareElementsOrdered (Statique) Appelez cette fonction pour comparer deux éléments de chaîne.
CStringElementTraits ::CopyElements (Statique) Appelez cette fonction pour copier CString des éléments stockés dans un objet de classe de collection.
CStringElementTraits ::Hash (Statique) Appelez cette fonction pour calculer une valeur de hachage pour l’élément de chaîne donné.
CStringElementTraits ::RelocateElements (Statique) Appelez cette fonction pour déplacer CString des éléments stockés dans un objet de classe de collection.

Notes

Cette classe fournit des fonctions statiques pour la copie, le déplacement et la comparaison de chaînes et la création d’une valeur de hachage. Ces fonctions sont utiles lors de l’utilisation d’une classe de collection pour stocker des données basées sur des chaînes. Utilisez CStringElementTraitsI lorsque des comparaisons ne respectant pas la casse sont requises. Utilisez CStringRefElementTraits lorsque les objets de chaîne doivent être traités comme références.

Pour plus d’informations, consultez les classes de collection ATL.

Spécifications

En-tête : cstringt.h

CStringElementTraits ::CompareElements

Appelez cette fonction statique pour comparer deux éléments de chaîne pour l’égalité.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Paramètres

str1
Premier élément de chaîne.

str2
Deuxième élément de chaîne.

Valeur de retour

Retourne true si les éléments sont égaux, false sinon.

CStringElementTraits ::CompareElementsOrdered

Appelez cette fonction statique pour comparer deux éléments de chaîne.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Paramètres

str1
Premier élément de chaîne.

str2
Deuxième élément de chaîne.

Valeur de retour

Zéro si les chaînes sont identiques, < 0 si str1 est inférieur à str2 ou > 0 si str1 est supérieur à str2. La méthode CStringT ::Compare est utilisée pour effectuer les comparaisons.

CStringElementTraits ::CopyElements

Appelez cette fonction statique pour copier CString des éléments stockés dans un objet de classe de collection.

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

Paramètres

pDest
Pointeur vers le premier élément qui recevra les données copiées.

pSrc
Pointeur vers le premier élément à copier.

nElements
Nombre d’éléments à copier.

Notes

Les éléments source et de destination ne doivent pas se chevaucher.

CStringElementTraits ::Hash

Appelez cette fonction statique pour calculer une valeur de hachage pour l’élément de chaîne donné.

static ULONG Hash(INARGTYPE str);

Paramètres

str
Élément de chaîne.

Valeur de retour

Retourne une valeur de hachage calculée à l’aide du contenu de la chaîne.

CStringElementTraits ::INARGTYPE

Type de données à utiliser pour ajouter des éléments à l’objet de classe de collection.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits ::OUTARGTYPE

Type de données à utiliser pour récupérer des éléments de l’objet de classe de collection.

typedef T& OUTARGTYPE;

CStringElementTraits ::RelocateElements

Appelez cette fonction statique pour déplacer CString des éléments stockés dans un objet de classe de collection.

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

Paramètres

pDest
Pointeur vers le premier élément qui recevra les données déplacées.

pSrc
Pointeur vers le premier élément à déplacer.

nElements
Nombre d’éléments à déplacer.

Notes

Cette fonction statique appelle memmove, qui est suffisante pour la plupart des types de données. Si les objets déplacés contiennent des pointeurs vers leurs propres membres, cette fonction statique doit être remplacée.

Voir aussi

CElementTraitsBase, classe
CStringElementTraitsI, classe
Vue d’ensemble de la classe