CSimpleMap-Klasse
Diese Klasse bietet Unterstützung für ein einfaches Zuordnungsarray.
Syntax
template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap
Parameter
TKey
Der Schlüsselelementtyp.
TVal
Der Wertelementtyp.
TEqual
Ein Trait-Objekt, das den Gleichheitstest für Elemente des Typs T
definiert.
Member
Öffentliche Typedefs
Name | Beschreibung |
---|---|
CSimpleMap::_ArrayElementType | Typedef für den Werttyp. |
CSimpleMap::_ArrayKeyType | Typedef für den Schlüsseltyp. |
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CSimpleMap::CSimpleMap | Der Konstruktor. |
CSimpleMap::~CSimpleMap | Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CSimpleMap::Add | Fügt dem Zuordnungsarray einen Schlüssel und einen zugeordneten Wert hinzu. |
CSimpleMap::FindKey | Sucht einen bestimmten Schlüssel. |
CSimpleMap::FindVal | Sucht einen bestimmten Wert. |
CSimpleMap::GetKeyAt | Ruft den angegebenen Schlüssel ab. |
CSimpleMap::GetSize | Gibt die Anzahl der Einträge im Zuordnungsarray zurück. |
CSimpleMap::GetValueAt | Ruft den angegebenen Wert ab. |
CSimpleMap::Lookup | Gibt den wert zurück, der dem angegebenen Schlüssel zugeordnet ist. |
CSimpleMap::Remove | Entfernt einen Schlüssel und einen übereinstimmenden Wert. |
CSimpleMap::RemoveAll | Entfernt alle Schlüssel und Werte. |
CSimpleMap::RemoveAt | Entfernt einen bestimmten Schlüssel und einen übereinstimmenden Wert. |
CSimpleMap::ReverseLookup | Gibt den Schlüssel zurück, der dem angegebenen Wert zugeordnet ist. |
CSimpleMap::SetAt | Legt den wert fest, der dem angegebenen Schlüssel zugeordnet ist. |
CSimpleMap::SetAtIndex | Legt den spezifischen Schlüssel und Wert fest. |
Hinweise
CSimpleMap
bietet Unterstützung für ein einfaches Zuordnungsarray eines bestimmten Typs T
, wobei ein ungeordnetes Array von Schlüsselelementen und deren zugeordneten Werten verwaltet wird.
Der Parameter TEqual
stellt ein Mittel zum Definieren einer Gleichheitsfunktion für zwei Elemente des Typs T
bereit. Durch das Erstellen einer Klasse, die CSimpleMapEqualHelper ähnelt, ist es möglich, das Verhalten des Gleichheitstests für ein bestimmtes Array zu ändern. Wenn Sie beispielsweise mit einem Array von Zeigern umgehen, kann es nützlich sein, die Gleichheit abhängig von den Werten zu definieren, auf die die Zeiger verweisen. Die Standardimplementierung verwendet operator==().
Sowohl als auch CSimpleMap
CSimpleArray werden zur Kompatibilität mit früheren ATL-Versionen bereitgestellt, und vollständigere und effizientere Sammlungsimplementierungen werden von CAtlArray und CAtlMap bereitgestellt.
Im Gegensatz zu anderen Kartensammlungen in ATL und MFC wird diese Klasse mit einem einfachen Array implementiert, und Nachschlagevorgänge erfordern eine lineare Suche. CAtlMap
sollte verwendet werden, wenn das Array eine große Anzahl von Elementen enthält.
Anforderungen
Kopfzeile: atlsimpcoll.h
Beispiel
// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;
CSimpleMap::Add
Fügt dem Zuordnungsarray einen Schlüssel und einen zugeordneten Wert hinzu.
BOOL Add(const TKey& key, const TVal& val);
Parameter
key
Der Schlüssel.
val
Der zugeordnete Wert.
Rückgabewert
Gibt TRUE zurück, wenn der Schlüssel und der Wert erfolgreich hinzugefügt wurden, andernfalls FALSE.
Hinweise
Jedes Hinzugefügte Schlüssel- und Wertpaar bewirkt, dass der Zuordnungsarrayspeicher freigegeben und neu zugeordnet wird, um sicherzustellen, dass die Daten für jedes datenkontinuell gespeichert werden. Das zweite Schlüsselelement folgt also immer direkt dem ersten Schlüsselelement im Arbeitsspeicher usw.
CSimpleMap::_ArrayElementType
Ein Typedef für den Schlüsseltyp.
typedef TVal _ArrayElementType;
CSimpleMap::_ArrayKeyType
Ein Typedef für den Werttyp.
typedef TKey _ArrayKeyType;
CSimpleMap::CSimpleMap
Der Konstruktor.
CSimpleMap();
Hinweise
Initialisiert die Datenmmber.
CSimpleMap::~CSimpleMap
Der Destruktor.
~CSimpleMap();
Hinweise
Gibt alle zugeordneten Ressourcen frei.
CSimpleMap::FindKey
Sucht einen bestimmten Schlüssel.
int FindKey(const TKey& key) const;
Parameter
key
Der zu suchende Schlüssel.
Rückgabewert
Gibt den Index des Schlüssels zurück, falls gefunden, andernfalls -1.
CSimpleMap::FindVal
Sucht einen bestimmten Wert.
int FindVal(const TVal& val) const;
Parameter
val
Der Wert, nach dem gesucht werden soll.
Rückgabewert
Gibt den Index des Werts zurück, wenn er gefunden wird, andernfalls -1.
CSimpleMap::GetKeyAt
Ruft den Schlüssel am angegebenen Index ab.
TKey& GetKeyAt(int nIndex) const;
Parameter
nIndex
Der Index des zurückzugebenden Schlüssels.
Rückgabewert
Gibt den Schlüssel zurück, auf den von nIndex verwiesen wird.
Hinweise
Der von nIndex übergebene Index muss gültig sein, damit der Rückgabewert sinnvoll ist.
CSimpleMap::GetSize
Gibt die Anzahl der Einträge im Zuordnungsarray zurück.
int GetSize() const;
Rückgabewert
Gibt die Anzahl der Einträge (ein Schlüssel und Wert ist ein Eintrag) im Zuordnungsarray zurück.
CSimpleMap::GetValueAt
Ruft den Wert am spezifischen Index ab.
TVal& GetValueAt(int nIndex) const;
Parameter
nIndex
Der Index des zurückzugebenden Werts.
Rückgabewert
Gibt den Wert zurück, auf den von nIndex verwiesen wird.
Hinweise
Der von nIndex übergebene Index muss gültig sein, damit der Rückgabewert sinnvoll ist.
CSimpleMap::Lookup
Gibt den wert zurück, der dem angegebenen Schlüssel zugeordnet ist.
TVal Lookup(const TKey& key) const;
Parameter
key
Der Schlüssel.
Rückgabewert
Gibt den zugeordneten Wert zurück. Wenn kein übereinstimmenden Schlüssel gefunden wird, wird NULL zurückgegeben.
CSimpleMap::Remove
Entfernt einen Schlüssel und einen übereinstimmenden Wert.
BOOL Remove(const TKey& key);
Parameter
key
Der Schlüssel.
Rückgabewert
Gibt TRUE zurück, wenn der Schlüssel und der übereinstimmende Wert erfolgreich entfernt wurden, andernfalls FALSE.
CSimpleMap::RemoveAll
Entfernt alle Schlüssel und Werte.
void RemoveAll();
Hinweise
Entfernt alle Schlüssel und Werte aus dem Zuordnungsarrayobjekt.
CSimpleMap::RemoveAt
Entfernt einen Schlüssel und einen zugeordneten Wert am angegebenen Index.
BOOL RemoveAt(int nIndex);
Parameter
nIndex
Der Index des zu entfernenden Schlüssels und des zugeordneten Werts.
Rückgabewert
Gibt TRUE bei Erfolg zurück, FALSE, wenn der angegebene Index ein ungültiger Index ist.
CSimpleMap::ReverseLookup
Gibt den Schlüssel zurück, der dem angegebenen Wert zugeordnet ist.
TKey ReverseLookup(const TVal& val) const;
Parameter
val
Der -Wert.
Rückgabewert
Gibt den zugeordneten Schlüssel zurück. Wenn kein übereinstimmenden Schlüssel gefunden wird, wird NULL zurückgegeben.
CSimpleMap::SetAt
Legt den wert fest, der dem angegebenen Schlüssel zugeordnet ist.
BOOL SetAt(const TKey& key, const TVal& val);
Parameter
key
Der Schlüssel.
val
Der neue Wert, der zugewiesen werden soll.
Rückgabewert
Gibt TRUE zurück, wenn der Schlüssel gefunden wurde und der Wert erfolgreich geändert wurde, andernfalls FALSE.
CSimpleMap::SetAtIndex
Legt den Schlüssel und den Wert bei einem angegebenen Index fest.
BOOL SetAtIndex(
int nIndex,
const TKey& key,
const TVal& val);
Parameter
nIndex
Der Index, der auf die zu ändernde Schlüssel- und Wertpaarung verweist.
key
Der neue Schlüssel.
val
Der neue Wert.
Rückgabewert
Gibt WAHR zurück, wenn der Index erfolgreich war, FALSE, wenn der Index ungültig war.
Hinweise
Aktualisiert sowohl den Schlüssel als auch den Wert, auf den nIndex verweist.