Partilhar via


Classe CStringElementTraits

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

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

Sintaxe

template <typename T>
class CStringElementTraits

Parâmetros

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

Membros

Definições de Tipos Públicas

Nome Description
CStringElementTraits::INARGTYPE O tipo de dados a usar para adicionar elementos ao objeto de classe de coleção.
CStringElementTraits::OUTARGTYPE O tipo de dado a usar para recuperar elementos do objeto de classe de coleção.

Métodos Públicos

Nome Description
CStringElementTraits::CompareElements (Estática) Chame esta função para comparar dois elementos de cadeia para igualdade.
CStringElementTraits::CompareElementsOrdered (Estática) Chame esta função para comparar dois elementos de cadeia.
CStringElementTraits::CopyElements (Estática) Chame esta função para copiar CString elementos armazenados num objeto de classe de coleção.
CStringElementTraits::Hash (Estática) Chame esta função para calcular um valor de hash para o elemento da cadeia dado.
CStringElementTraits::RelocateElements (Estática) Chame esta função para realocar CString elementos armazenados num objeto de classe de coleção.

Observações

Esta classe fornece funções estáticas para copiar, mover e comparar strings e para criar um valor de hash. Estas funções são úteis quando se utiliza uma classe de coleção para armazenar dados baseados em strings. Use CStringElementTraitsI quando forem necessárias comparações insensíveis a maiúsculas minúsculas. Use CStringRefElementTraits quando os objetos string forem tratados como referências.

Para mais informações, consulte Aulas de Coleção ATL.

Requerimentos

Cabeçalho: cstringt.h

CStringElementTraits::CompareElements

Chama esta função estática para comparar dois elementos de cadeia para igualdade.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parâmetros

str1
O primeiro elemento da corda.

str2
O segundo elemento de corda.

Valor de retorno

Retorna verdadeiro se os elementos forem iguais, falso caso contrário.

CStringElementTraits::CompareElementsOrdered

Chame esta função estática para comparar dois elementos de corda.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parâmetros

str1
O primeiro elemento da corda.

str2
O segundo elemento de corda.

Valor de retorno

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

CStringElementTraits::CopyElements

Chame esta função estática para copiar CString elementos armazenados num objeto de classe de coleção.

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

Parâmetros

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

pSrc
Apontar para o primeiro elemento a copiar.

nElementos
O número de elementos a copiar.

Observações

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

CStringElementTraits::Hash

Chame esta função estática para calcular um valor de hash para o elemento da cadeia dado.

static ULONG Hash(INARGTYPE str);

Parâmetros

STR
O elemento da corda.

Valor de retorno

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

CStringElementTraits::INARGTYPE

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

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

O tipo de dado a usar para recuperar elementos do objeto de classe de coleção.

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

Chame esta função estática para realocar CString elementos armazenados num objeto de classe de coleção.

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

Parâmetros

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

pSrc
Aponta para o primeiro elemento a realocar.

nElementos
O número de elementos a realocar.

Observações

Esta função estática chama memmove, o que é suficiente para a maioria dos tipos de dados. Se os objetos a serem movidos contiverem ponteiros para os seus próprios membros, esta função estática terá de ser sobreposta.

Consulte também

CElementTraitsClasse Base
Classe CStringElementTraitsI
Visão geral da classe