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