Aracılığıyla paylaş


CStringElementTraits Sınıfı

Bu sınıf, nesneleri depolayarak CString koleksiyon sınıfları tarafından kullanılan statik işlevler sağlar.

Sözdizimi

template <typename T>
class CStringElementTraits

Parametreler

T
Koleksiyonda depolanacak veri türü.

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
CStringElementTraits::INARGTYPE Koleksiyon sınıfı nesnesine öğe eklemek için kullanılacak veri türü.
CStringElementTraits::OUTARGTYPE Koleksiyon sınıfı nesnesinden öğe almak için kullanılacak veri türü.

Genel Yöntemler

Veri Akışı Adı Açıklama
CStringElementTraits::CompareElements (Statik) Eşitlik için iki dize öğesini karşılaştırmak için bu işlevi çağırın.
CStringElementTraits::CompareElementsOrdered (Statik) İki dize öğesini karşılaştırmak için bu işlevi çağırın.
CStringElementTraits::CopyElements (Statik) Koleksiyon sınıfı nesnesinde depolanan öğeleri kopyalamak CString için bu işlevi çağır.
CStringElementTraits::Hash (Statik) Verilen dize öğesi için bir karma değeri hesaplamak için bu işlevi çağırın.
CStringElementTraits::RelocateElements (Statik) Koleksiyon sınıfı nesnesinde depolanan öğeleri yeniden dağıtmak CString için bu işlevi çağır.

Açıklamalar

Bu sınıf, dizeleri kopyalamak, taşımak ve karşılaştırmak ve karma değer oluşturmak için statik işlevler sağlar. Bu işlevler, dize tabanlı verileri depolamak için bir koleksiyon sınıfı kullanılırken kullanışlıdır. Büyük/küçük harfe duyarlı olmayan karşılaştırmalar gerektiğinde CStringElementTraitsI kullanın. Dize nesneleri başvuru olarak ele alınacağı zaman CStringRefElementTraits kullanın.

Daha fazla bilgi için bkz . ATL Koleksiyon Sınıfları.

Gereksinimler

Üst bilgi: cstringt.h

CStringElementTraits::CompareElements

Eşitlik için iki dize öğesini karşılaştırmak için bu statik işlevi çağırın.

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

Parametreler

str1
İlk dize öğesi.

str2
İkinci dize öğesi.

Dönüş Değeri

Öğeler eşitse true, aksi takdirde false döndürür.

CStringElementTraits::CompareElementsOrdered

İki dize öğesini karşılaştırmak için bu statik işlevi çağırın.

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

Parametreler

str1
İlk dize öğesi.

str2
İkinci dize öğesi.

Dönüş Değeri

Dizeler aynıysa sıfır, < str1 str2'den küçükse 0 veya > str1 str2'den büyükse 0. Karşılaştırmaları gerçekleştirmek için CStringT::Compare yöntemi kullanılır.

CStringElementTraits::CopyElements

Koleksiyon sınıfı nesnesinde depolanan öğeleri kopyalamak CString için bu statik işlevi çağır.

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

Parametreler

pDest
Kopyalanan verileri alacak ilk öğenin işaretçisi.

pSrc
Kopyalanacak ilk öğenin işaretçisi.

nElements
Kopyalanacak öğe sayısı.

Açıklamalar

Kaynak ve hedef öğeler çakışmamalıdır.

CStringElementTraits::Hash

Verilen dize öğesi için bir karma değeri hesaplamak için bu statik işlevi çağırın.

static ULONG Hash(INARGTYPE str);

Parametreler

str
Dize öğesi.

Dönüş Değeri

Dizenin içeriği kullanılarak hesaplanan bir karma değer döndürür.

CStringElementTraits::INARGTYPE

Koleksiyon sınıfı nesnesine öğe eklemek için kullanılacak veri türü.

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

Koleksiyon sınıfı nesnesinden öğe almak için kullanılacak veri türü.

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

Koleksiyon sınıfı nesnesinde depolanan öğeleri yeniden dağıtmak CString için bu statik işlevi çağır.

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

Parametreler

pDest
Yeniden konumlandırılan verileri alacak ilk öğenin işaretçisi.

pSrc
Yeniden konumlandıracak ilk öğenin işaretçisi.

nElements
Yeniden yerleşecek öğe sayısı.

Açıklamalar

Bu statik işlev, çoğu veri türü için yeterli olan memmove öğesini çağırır. Taşınan nesneler kendi üyelerine yönelik işaretçiler içeriyorsa, bu statik işlevin geçersiz kılınması gerekir.

Ayrıca bkz.

CElementTraitsBase Sınıfı
CStringElementTraitsI Sınıfı
Sınıfa Genel Bakış