Sdílet prostřednictvím


CStringElementTraits – třída

Tato třída poskytuje statické funkce používané třídami kolekce, které CString ukládají objekty.

Syntaxe

template <typename T>
class CStringElementTraits

Parametry

T
Typ dat, která mají být uložena v kolekci.

Členové

Veřejné definice typedef

Název Popis
CStringElementTraits::INARGTYPE Datový typ, který se má použít pro přidání prvků do objektu třídy kolekce.
CStringElementTraits::OUTARGTYPE Datový typ, který se má použít pro načtení prvků z objektu třídy kolekce.

Veřejné metody

Název Popis
CStringElementTraits::CompareElements (Statické) Voláním této funkce porovnáte dva řetězcové prvky rovnosti.
CStringElementTraits::CompareElementsOrdered (Statické) Voláním této funkce porovnáte dva řetězcové prvky.
CStringElementTraits::CopyElements (Statické) Voláním této funkce zkopírujete CString prvky uložené v objektu třídy kolekce.
CStringElementTraits::Hash (Statické) Voláním této funkce vypočítáte hodnotu hash pro daný prvek řetězce.
CStringElementTraits::PřemístitElements (Statické) Voláním této funkce lze přemístit CString prvky uložené v objektu třídy kolekce.

Poznámky

Tato třída poskytuje statické funkce pro kopírování, přesouvání a porovnávání řetězců a pro vytvoření hodnoty hash. Tyto funkce jsou užitečné při použití třídy kolekce k ukládání dat založených na řetězcích. CStringElementTraitsI použijte, pokud jsou vyžadována porovnání bez rozlišování velkých a malých písmen. Použijte CStringRefElementTraits, pokud řetězcové objekty mají být řešeny jako odkazy.

Další informace naleznete v tématu ATL Collection Classes.

Požadavky

Hlavička: cstringt.h

CStringElementTraits::CompareElements

Voláním této statické funkce porovnáte dva řetězcové prvky rovnosti.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parametry

str1
První prvek řetězce.

str2
Druhý prvek řetězce.

Návratová hodnota

Vrátí hodnotu true, pokud jsou prvky stejné, jinak false.

CStringElementTraits::CompareElementsOrdered

Voláním této statické funkce porovnáte dva řetězcové prvky.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parametry

str1
První prvek řetězce.

str2
Druhý prvek řetězce.

Návratová hodnota

Nula, pokud jsou řetězce identické, < 0 pokud str1 je menší než str2, nebo > 0, pokud str1 je větší než str2. Metoda CStringT::Compare se používá k provedení porovnání.

CStringElementTraits::CopyElements

Voláním této statické funkce zkopírujete CString prvky uložené v objektu třídy kolekce.

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

Parametry

pDest
Ukazatel na první prvek, který obdrží zkopírovaná data.

pSrc
Ukazatel na první prvek, který chcete zkopírovat.

nElements
Počet prvků, které se mají zkopírovat.

Poznámky

Zdrojové a cílové prvky by se neměly překrývat.

CStringElementTraits::Hash

Voláním této statické funkce vypočítáte hodnotu hash pro daný prvek řetězce.

static ULONG Hash(INARGTYPE str);

Parametry

Str
Řetězcový prvek.

Návratová hodnota

Vrátí hodnotu hash vypočítanou pomocí obsahu řetězce.

CStringElementTraits::INARGTYPE

Datový typ, který se má použít pro přidání prvků do objektu třídy kolekce.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

Datový typ, který se má použít pro načtení prvků z objektu třídy kolekce.

typedef T& OUTARGTYPE;

CStringElementTraits::PřemístitElements

Voláním této statické funkce lze přemístit CString prvky uložené v objektu třídy kolekce.

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

Parametry

pDest
Ukazatel na první prvek, který bude přijímat přemísťovaná data.

pSrc
Ukazatel na první prvek, který se má přemístit.

nElements
Počet prvků, které se mají přemístit.

Poznámky

Tato statická funkce volá memmove, což je dostačující pro většinu datových typů. Pokud přesunuté objekty obsahují ukazatele na vlastní členy, bude nutné tuto statickou funkci přepsat.

Viz také

CElementTraitsBase – třída
CStringElementTraitsI – třída
Přehled třídy