Udostępnij za pośrednictwem


Klasa CStringElementTraits

Ta klasa udostępnia funkcje statyczne używane przez klasy kolekcji przechowujące CString obiekty.

Składnia

template <typename T>
class CStringElementTraits

Parametry

T
Typ danych, które mają być przechowywane w kolekcji.

Członkowie

Definicje typów publicznych

Nazwa/nazwisko opis
CStringElementTraits::INARGTYPE Typ danych używany do dodawania elementów do obiektu klasy kolekcji.
CStringElementTraits::OUTARGTYPE Typ danych używany do pobierania elementów z obiektu klasy kolekcji.

Metody publiczne

Nazwa/nazwisko opis
CStringElementTraits::CompareElements (Statyczne) Wywołaj tę funkcję, aby porównać dwa elementy ciągu pod kątem równości.
CStringElementTraits::CompareElementsOrdered (Statyczne) Wywołaj tę funkcję, aby porównać dwa elementy ciągu.
CStringElementTraits::CopyElements (Statyczne) Wywołaj tę funkcję, aby skopiować CString elementy przechowywane w obiekcie klasy kolekcji.
CStringElementTraits::Hash (Statyczne) Wywołaj tę funkcję, aby obliczyć wartość skrótu dla danego elementu ciągu.
CStringElementTraits::RelocateElements (Statyczne) Wywołaj tę funkcję, aby przenieść CString elementy przechowywane w obiekcie klasy kolekcji.

Uwagi

Ta klasa udostępnia funkcje statyczne do kopiowania, przenoszenia i porównywania ciągów oraz tworzenia wartości skrótu. Te funkcje są przydatne podczas używania klasy kolekcji do przechowywania danych opartych na ciągach. Użyj CStringElementTraitsI , gdy wymagane są porównania bez uwzględniania wielkości liter. Użyj CStringRefElementTraits , gdy obiekty ciągu mają być traktowane jako odwołania.

Aby uzyskać więcej informacji, zobacz Klasy kolekcji ATL.

Wymagania

Nagłówek: cstringt.h

CStringElementTraits::CompareElements

Wywołaj tę funkcję statyczną, aby porównać dwa elementy ciągu pod kątem równości.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parametry

str1
Pierwszy element ciągu.

str2
Drugi element ciągu.

Wartość zwracana

Zwraca wartość true, jeśli elementy są równe, w przeciwnym razie wartość false.

CStringElementTraits::CompareElementsOrdered

Wywołaj tę funkcję statyczną, aby porównać dwa elementy ciągu.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parametry

str1
Pierwszy element ciągu.

str2
Drugi element ciągu.

Wartość zwracana

Zero, jeśli ciągi są identyczne, 0, jeśli str1 jest mniejszy niż str2, lub > 0, jeśli str1 jest większy niż str2.< Metoda CStringT::Compare służy do przeprowadzania porównań.

CStringElementTraits::CopyElements

Wywołaj tę funkcję statyczną, aby skopiować CString elementy przechowywane w obiekcie klasy kolekcji.

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

Parametry

PDest
Wskaźnik do pierwszego elementu, który otrzyma skopiowane dane.

Psrc
Wskaźnik do pierwszego elementu do skopiowania.

nElements
Liczba elementów do skopiowania.

Uwagi

Elementy źródłowe i docelowe nie powinny się nakładać.

CStringElementTraits::Hash

Wywołaj tę funkcję statyczną, aby obliczyć wartość skrótu dla danego elementu ciągu.

static ULONG Hash(INARGTYPE str);

Parametry

Str
Element string.

Wartość zwracana

Zwraca wartość skrótu obliczaną przy użyciu zawartości ciągu.

CStringElementTraits::INARGTYPE

Typ danych używany do dodawania elementów do obiektu klasy kolekcji.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

Typ danych używany do pobierania elementów z obiektu klasy kolekcji.

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

Wywołaj tę funkcję statyczną, aby przenieść CString elementy przechowywane w obiekcie klasy kolekcji.

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

Parametry

PDest
Wskaźnik do pierwszego elementu, który otrzyma przeniesione dane.

Psrc
Wskaźnik do pierwszego elementu w celu przeniesienia.

nElements
Liczba elementów do przeniesienia.

Uwagi

Ta funkcja statyczna wywołuje metodę memmove, która jest wystarczająca dla większości typów danych. Jeśli obiekty przenoszone zawierają wskaźniki do własnych elementów członkowskich, ta funkcja statyczna musi zostać zastąpiona.

Zobacz też

Klasa CElementTraitsBase
Klasa CStringElementTraitsI
Omówienie klasy