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 T
sahip 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 T
iki öğ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.