Compartilhar via


Classe CStringElementTraits

Essa classe fornece funções estáticas usadas por classes de coleção que armazenam objetos CString.

Sintaxe

template <typename T>
class CStringElementTraits

Parâmetros

T
O tipo de dados a serem armazenados na coleção.

Membros

Typedefs públicos

Nome Descrição
CStringElementTraits::INARGTYPE O tipo de dados a ser usado para adicionar elementos ao objeto da classe de coleção.
CStringElementTraits::OUTARGTYPE O tipo de dados a ser usado para recuperar elementos do objeto de classe de coleção.

Métodos públicos

Nome Descrição
CStringElementTraits::CompareElements (Estático) Chame essa função para comparar dois elementos de cadeia de caracteres quanto à igualdade.
CStringElementTraits::CompareElementsOrdered (Estático) Chame esta função para comparar dois elementos de cadeia de caracteres.
CStringElementTraits::CopyElements (Estático) Chame essa função para copiar elementos CString armazenados em um objeto de classe de coleção.
CStringElementTraits::Hash (Estático) Chame essa função para calcular um valor de hash para o elemento de cadeia de caracteres fornecido.
CStringElementTraits::RelocateElements (Estático) Chame essa função para realocar elementos CString armazenados em um objeto de classe de coleção.

Comentários

Essa classe fornece funções estáticas para copiar, mover e comparar cadeia de caracteres e para criar um valor de hash. Essas funções são úteis ao usar uma classe de coleção para armazenar dados baseados em cadeia de caracteres. Use CStringElementTraitsI quando forem necessárias comparações que não diferenciam maiúsculas de minúsculas. Use CStringRefElementTraits quando os objetos de cadeia de caracteres devem ser tratados como referências.

Para obter mais informações, confira Classes de Coleção da ATL.

Requisitos

Cabeçalho: cstringt.h

CStringElementTraits::CompareElements

Chame essa função estática para comparar dois elementos da cadeia de caracteres para igualdade.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parâmetros

str1
O primeiro elemento da cadeia de caracteres.

str2
O segundo elemento da cadeia de caracteres.

Valor de retorno

Retorna true se os elementos forem iguais, false caso contrário.

CStringElementTraits::CompareElementsOrdered

Chame essa função estática para comparar dois elementos da cadeia de caracteres.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parâmetros

str1
O primeiro elemento da cadeia de caracteres.

str2
O segundo elemento da cadeia de caracteres.

Valor de retorno

Zero se as cadeias de caracteres forem idênticas, < 0 se str1for menor do que str2, ou > 0 se str1 for maior do que str2. O método CStringT::Compare é usado para realizar as comparações.

CStringElementTraits::CopyElements

Chame essa função estática para copiar elementos CString armazenados em um objeto de classe de coleção.

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

Parâmetros

pDest
Ponteiro para o primeiro elemento que receberá os dados copiados.

pSrc
Ponteiro para o primeiro elemento a ser copiado.

nElements
O número de elementos a serem copiados.

Comentários

Os elementos de origem e destino não devem se sobrepor.

CStringElementTraits::Hash

Chame essa função estática para calcular um valor de hash para o elemento da cadeia de caracteres fornecido.

static ULONG Hash(INARGTYPE str);

Parâmetros

str
O elemento da cadeia de caracteres.

Valor de retorno

Retorna um valor de hash, calculado usando o conteúdo da cadeia de caracteres.

CStringElementTraits::INARGTYPE

O tipo de dados a ser usado para adicionar elementos ao objeto da classe de coleção.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

O tipo de dados a ser usado para recuperar elementos do objeto de classe de coleção.

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

Chame essa função estática para realocar elementos CString armazenados em um objeto de classe de coleção.

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

Parâmetros

pDest
Ponteiro para o primeiro elemento que receberá os dados realocados.

pSrc
Ponteiro para o primeiro elemento a ser realocado.

nElements
O número de elementos a ser realocado.

Comentários

Essa função estática chama memmove, que é suficiente para a maioria dos tipos de dados. Se os objetos que estão sendo movidos contiverem ponteiros para seus próprios membros, essa função estática precisará ser substituída.

Confira também

Classe CElementTraitsBase
Classe CStringElementTraitsI
Visão geral da aula