Aracılığıyla paylaş


CSimpleMap Sınıfı

Bu sınıf basit bir eşleme dizisi için destek sağlar.

Sözdizimi

template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap

Parametreler

TKey
Anahtar öğe türü.

TVal
Değer öğesi türü.

TEqual
türündeki Töğeler için eşitlik testini tanımlayan bir özellik nesnesi.

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
CSimpleMap::_ArrayElementType Değer türü için typedef.
CSimpleMap::_ArrayKeyType Anahtar türü için typedef.

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CSimpleMap::CSimpleMap Oluşturucu.
CSimpleMap::~CSimpleMap Yok edici.

Genel Yöntemler

Veri Akışı Adı Açıklama
CSimpleMap::Add Eşleme dizisine bir anahtar ve ilişkili değer ekler.
CSimpleMap::FindKey Belirli bir anahtarı bulur.
CSimpleMap::FindVal Belirli bir değeri bulur.
CSimpleMap::GetKeyAt Belirtilen anahtarı alır.
CSimpleMap::GetSize Eşleme dizisindeki girdi sayısını döndürür.
CSimpleMap::GetValueAt Belirtilen değeri alır.
CSimpleMap::Lookup Verilen anahtarla ilişkili değeri döndürür.
CSimpleMap::Remove Bir anahtarı ve eşleşen değeri kaldırır.
CSimpleMap::RemoveAll Tüm anahtarları ve değerleri kaldırır.
CSimpleMap::RemoveAt Belirli bir anahtarı ve eşleşen değeri kaldırır.
CSimpleMap::ReverseLookup Verilen değerle ilişkili anahtarı döndürür.
CSimpleMap::SetAt Verilen anahtarla ilişkili değeri ayarlar.
CSimpleMap::SetAtIndex Belirli bir anahtarı ve değeri ayarlar.

Açıklamalar

CSimpleMap , herhangi bir türe Tsahip basit bir eşleme dizisi için destek sağlar ve sıralanmamış bir anahtar öğe dizisini ve bunların ilişkili değerlerini yönetir.

parametresi TEqual , türünde Tiki öğe için bir eşitlik işlevi tanımlamanın bir aracı sağlar. CSimpleMapEqualHelper'a benzer bir sınıf oluşturarak, belirli bir dizi için eşitlik testinin davranışını değiştirmek mümkündür. Örneğin, bir işaretçi dizisiyle ilgilenirken, işaretçilerin başvuracağı değerlere bağlı olarak eşitliği tanımlamak yararlı olabilir. Varsayılan uygulama operator==() kullanır.

Hem hem de CSimpleMap CSimpleArray önceki ATL sürümleriyle uyumluluk için sağlanır ve CAtlArray ve CAtlMap tarafından daha eksiksiz ve verimli koleksiyon uygulamaları sağlanır.

ATL ve MFC'deki diğer harita koleksiyonlarının aksine, bu sınıf basit bir diziyle uygulanır ve arama aramaları doğrusal bir arama gerektirir. CAtlMap dizi çok sayıda öğe içerdiğinde kullanılmalıdır.

Gereksinimler

Üst bilgi: atlsimpcoll.h

Örnek

// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;   

CSimpleMap::Add

Eşleme dizisine bir anahtar ve ilişkili değer ekler.

BOOL Add(const TKey& key, const TVal& val);

Parametreler

key
Anahtar.

Val
İlişkili değer.

Dönüş Değeri

Anahtar ve değer başarıyla eklendiyse TRUE, aksi takdirde YANLIŞ döndürür.

Açıklamalar

Eklenen her anahtar ve değer çifti, her birine ilişkin verilerin her zaman bitişik olarak depolanmasını sağlamak için eşleme dizisi belleğinin serbest bırakılmasına ve yeniden yerleştirilmesine neden olur. Diğer bir ifadeyle, ikinci anahtar öğesi her zaman bellekteki ilk anahtar öğesini doğrudan izler ve bu şekilde devam eder.

CSimpleMap::_ArrayElementType

Anahtar türü için bir tür tanımı.

typedef TVal _ArrayElementType;

CSimpleMap::_ArrayKeyType

Değer türü için bir tür tanımı.

typedef TKey _ArrayKeyType;

CSimpleMap::CSimpleMap

Oluşturucu.

CSimpleMap();

Açıklamalar

Veri üyelerini başlatır.

CSimpleMap::~CSimpleMap

Yok edici.

~CSimpleMap();

Açıklamalar

Ayrılan tüm kaynakları serbesttir.

CSimpleMap::FindKey

Belirli bir anahtarı bulur.

int FindKey(const TKey& key) const;

Parametreler

key
Aranacak anahtar.

Dönüş Değeri

Bulunursa anahtarın dizinini döndürür, aksi takdirde -1 döndürür.

CSimpleMap::FindVal

Belirli bir değeri bulur.

int FindVal(const TVal& val) const;

Parametreler

Val
Aranacak değer.

Dönüş Değeri

Bulunursa değerin dizinini döndürür, aksi takdirde -1 döndürür.

CSimpleMap::GetKeyAt

Anahtarı belirtilen dizinde alır.

TKey& GetKeyAt(int nIndex) const;

Parametreler

nIndex
Döndürülecek anahtarın dizini.

Dönüş Değeri

nIndex tarafından başvuruda bulunan anahtarı döndürür.

Açıklamalar

nIndex tarafından geçirilen dizin, dönüş değerinin anlamlı olması için geçerli olmalıdır.

CSimpleMap::GetSize

Eşleme dizisindeki girdi sayısını döndürür.

int GetSize() const;

Dönüş Değeri

Eşleme dizisindeki girdi sayısını (anahtar ve değer bir girdidir) döndürür.

CSimpleMap::GetValueAt

Belirli bir dizindeki değeri alır.

TVal& GetValueAt(int nIndex) const;

Parametreler

nIndex
Döndürülecek değerin dizini.

Dönüş Değeri

nIndex tarafından başvuruda bulunan değeri döndürür.

Açıklamalar

nIndex tarafından geçirilen dizin, dönüş değerinin anlamlı olması için geçerli olmalıdır.

CSimpleMap::Lookup

Verilen anahtarla ilişkili değeri döndürür.

TVal Lookup(const TKey& key) const;

Parametreler

key
Anahtar.

Dönüş Değeri

İlişkili değeri döndürür. Eşleşen anahtar bulunmazsa NULL döndürülür.

CSimpleMap::Remove

Bir anahtarı ve eşleşen değeri kaldırır.

BOOL Remove(const TKey& key);

Parametreler

key
Anahtar.

Dönüş Değeri

Anahtar ve eşleşen değer başarıyla kaldırıldıysa TRUE döndürür; aksi takdirde YANLIŞ.

CSimpleMap::RemoveAll

Tüm anahtarları ve değerleri kaldırır.

void RemoveAll();

Açıklamalar

Eşleme dizisi nesnesinden tüm anahtarları ve değerleri kaldırır.

CSimpleMap::RemoveAt

Belirtilen dizinde bir anahtarı ve ilişkili değeri kaldırır.

BOOL RemoveAt(int nIndex);

Parametreler

nIndex
Anahtarın dizini ve kaldırılacak ilişkili değer.

Dönüş Değeri

Belirtilen dizin geçersiz bir dizinse, başarılı olduğunda TRUE, YANLIŞ döndürür.

CSimpleMap::ReverseLookup

Verilen değerle ilişkili anahtarı döndürür.

TKey ReverseLookup(const TVal& val) const;

Parametreler

Val
Değer.

Dönüş Değeri

İlişkili anahtarı döndürür. Eşleşen anahtar bulunmazsa NULL döndürülür.

CSimpleMap::SetAt

Verilen anahtarla ilişkili değeri ayarlar.

BOOL SetAt(const TKey& key, const TVal& val);

Parametreler

key
Anahtar.

Val
Atanacak yeni değer.

Dönüş Değeri

Anahtar bulunduysa ve değer başarıyla değiştirildiyse TRUE döndürür; aksi takdirde YANLIŞ.

CSimpleMap::SetAtIndex

Anahtarı ve değeri belirtilen dizinde ayarlar.

BOOL SetAtIndex(
    int nIndex,
    const TKey& key,
    const TVal& val);

Parametreler

nIndex
Değiştirmek için anahtara ve değer eşleştirmeye başvuran dizin.

key
Yeni anahtar.

Val
Yeni değer.

Dönüş Değeri

Başarılı olursa TRUE, dizin geçerli değilse YANLIŞ döndürür.

Açıklamalar

NIndex ile işaret edilen anahtarı ve değeri güncelleştirir.

Ayrıca bkz.

Sınıfa Genel Bakış