Compartir a través de


Clase CStringElementTraits

Esta clase proporciona funciones estáticas que usan las clases de colección que almacenan objetos CString.

Sintaxis

template <typename T>
class CStringElementTraits

Parámetros

T
Tipo de datos que se van a almacenar en la colección.

Miembros

Definiciones de tipos públicas

Nombre Descripción
CStringElementTraits::INARGTYPE Tipo de datos que se va a usar para agregar elementos al objeto de clase de la colección.
CStringElementTraits::OUTARGTYPE Tipo de datos que se va a usar para recuperar elementos del objeto de clase de la colección.

Métodos públicos

Nombre Descripción
CStringElementTraits::CompareElements (Estático) Llame a esta función para comparar dos elementos de cadena y comprobar si son iguales.
CStringElementTraits::CompareElementsOrdered (Estático) Llame a esta función para comparar dos elementos de cadena.
CStringElementTraits::CopyElements (Estático) Llame a esta función para copiar los elementos CString almacenados en un objeto de clase de colección.
CStringElementTraits::Hash (Estático) Llame a esta función para calcular un valor hash para el elemento de cadena indicado.
CStringElementTraits::RelocateElements (Estático) Llame a esta función para reubicar los elementos CString almacenados en un objeto de clase de colección.

Comentarios

Esta clase proporciona funciones estáticas para copiar, mover y comparar las cadenas y para crear un valor hash. Estas funciones son útiles cuando se usa una clase de colección para almacenar datos basados en cadenas. Use CStringElementTraitsI cuando se requieran comparaciones que no distinguen entre mayúsculas y minúsculas. Use CStringRefElementTraits cuando los objetos de cadena deban tratarse como referencias.

Para obtener más información, consulte Clases de colección en ATL.

Requisitos

Encabezado: cstringt.h

CStringElementTraits::CompareElements

Llame a esta función estática para comparar dos elementos de cadena y comprobar si son iguales.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parámetros

str1
El primer elemento de la cadena.

str2
El segundo elemento de la cadena.

Valor devuelto

Devuelve true si los elementos son iguales; de lo contrario, devuelve false.

CStringElementTraits::CompareElementsOrdered

Llame a esta función estática para comparar dos elementos de cadena.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parámetros

str1
El primer elemento de la cadena.

str2
El segundo elemento de la cadena.

Valor devuelto

Es cero si las cadenas son idénticas, < 0 si str1 es menor que str2 o > 0 si str1 es mayor que str2. El método CStringT::Compare se usa para hacer las comparaciones.

CStringElementTraits::CopyElements

Llame a esta función estática para copiar los elementos CString almacenados en un objeto de clase de colección.

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

Parámetros

pDest
Puntero al primer elemento que recibirá los datos copiados.

pSrc
Puntero al primer elemento que se va a copiar.

nElements
Número de elementos que se van a copiar.

Comentarios

Los elementos de origen y destino no deben superponerse.

CStringElementTraits::Hash

Llame a esta función estática para calcular un valor hash del elemento de cadena indicado.

static ULONG Hash(INARGTYPE str);

Parámetros

str
Elemento de la cadena.

Valor devuelto

Devuelve un valor hash, calculado con el contenido de la cadena.

CStringElementTraits::INARGTYPE

Tipo de datos que se va a usar para agregar elementos al objeto de clase de la colección.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

Tipo de datos que se va a usar para recuperar elementos del objeto de clase de la colección.

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

Llame a esta función estática para reubicar los elementos CString almacenados en un objeto de clase de colección.

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

Parámetros

pDest
Puntero al primer elemento que recibirá los datos reubicados.

pSrc
Puntero al primer elemento que se va a reubicar.

nElements
El número de elementos que se van a reubicar.

Comentarios

Esta función estática llama a memmove, que es suficiente para la gran mayoría de los tipos de datos. Si los objetos que se están moviendo contienen punteros a sus propios miembros, esta función estática deberá invalidarse.

Consulte también

CElementTraitsBase (clase)
CStringElementTraitsI (clase)
Información general sobre la clase