Freigeben über


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 Tdefiniert.

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 Tbereit. 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.

Siehe auch

Klassenübersicht