Freigeben über


CAtlMap Class

Diese Klasse stellt Methoden zum Erstellen und Verwalten eines Zuordnungsobjekts bereit.

template< 
   typename K, 
   typename V, 
   class KTraits = CElementTraits< K >, 
   class VTraits = CElementTraits< V > 
> 
class CAtlMap

Parameter

  • K
    Der Schlüsselelementtyp.

  • V
    Der Wertselementtyp.

  • KTraits
    Der Code verwendet, um Schlüsselelemente zu kopieren oder verschieben. Siehe CElementTraits-Klasse für weitere Details.

  • VTraits
    Der Code verwendet, um Wertelemente zu kopieren oder verschieben.

Mitglieder

Öffentliche Typedefs

Name

Description

CAtlMap::KINARGTYPE

Verwendeter Typ, wenn eine Taste als Eingabeargument übergeben wird

CAtlMap::KOUTARGTYPE

Verwendeter Typ, wenn eine Taste als Ausgabeargument zurückgegeben wird.

CAtlMap::VINARGTYPE

Verwendeter Typ, wenn ein Wert als Eingabeargument übergeben wird.

CAtlMap::VOUTARGTYPE

Verwendeter Typ, wenn ein Wert als Ausgabeargument übergeben wird.

Öffentliche Klassen

Name

Description

CAtlMap::CPair Class

Eine Klasse, die die Schlüssel und Wertelemente enthält.

CPair-Datenmember

Name

Description

CAtlMap::CPair::m_key

Der Datenmember, der das Schlüsselelement speichert.

CAtlMap::CPair::m_value

Der Datenmember, der das Wertselement speichert.

Öffentliche Konstruktoren

Name

Description

CAtlMap::CAtlMap

Der -Konstruktor.

CAtlMap::~CAtlMap

Der Destruktor.

Öffentliche Methoden

Name

Description

CAtlMap::AssertValid

Rufen Sie diese Methode auf, um eine ASSERT zu verursachen, wenn CAtlMap ungültig ist.

CAtlMap::DisableAutoRehash

Rufen Sie diese Methode auf, um automatische Durchführen eines Rehash CAtlMap des Objekts zu deaktivieren.

CAtlMap::EnableAutoRehash

Rufen Sie diese Methode auf, um automatische Durchführen eines Rehash CAtlMap des Objekts zu aktivieren.

CAtlMap::GetAt

Rufen Sie diese Methode auf, um das Element in einer angegebenen Position in der Zuordnung zurückzugeben.

CAtlMap::GetCount

Rufen Sie diese Methode auf, um die Anzahl der Elemente in der Zuordnung abzurufen.

CAtlMap::GetHashTableSize

Rufen Sie diese Methode auf, um die Anzahl von Containern in der Hashtabelle der Zuordnung zu bestimmen.

CAtlMap::GetKeyAt

Rufen Sie diese Methode auf, um die Schlüssel abzurufen, die an der angegebenen Position im CAtlMap-Objekt gespeichert wird.

CAtlMap::GetNext

Rufen Sie diese Methode auf, um ein Zeiger auf den folgenden Elementpaaren zu erhalten, die im CAtlMap-Objekt gespeichert werden.

CAtlMap::GetNextAssoc

Ruft das folgende Element zum Durchlaufen ab.

CAtlMap::GetNextKey

Rufen Sie diese Methode auf, um die folgenden Schlüssel vom CAtlMap-Objekt abzurufen.

CAtlMap::GetNextValue

Rufen Sie diese Methode auf, um den folgenden Wert vom CAtlMap-Objekt abzurufen.

CAtlMap::GetStartPosition

Rufen Sie diese Methode auf, um eine Zuordnungsiteration zu starten.

CAtlMap::GetValueAt

Rufen Sie diese Methode auf, um den Wert abzurufen, der an einer angegebenen Position im CAtlMap-Objekt gespeichert wird.

CAtlMap::InitHashTable

Rufen Sie diese Methode auf, um die Hashtabelle zu initialisieren.

CAtlMap::IsEmpty

Rufen Sie diese Methode auf, um für leere Zuordnungsobjekt zu testen.

CAtlMap::Lookup

Rufen Sie diese Methode auf, um Schlüssel oder Werte im CAtlMap-Objekt gesucht wird.

CAtlMap::Rehash

Rufen Sie diese Methode auf, um das CAtlMap-Objekt aufzuwärmen.

CAtlMap::RemoveAll

Rufen Sie diese Methode auf, um alle Elemente aus CAtlMap-Objekt zu entfernen.

CAtlMap::RemoveAtPos

Rufen Sie diese Methode auf, um das Element an der angegebenen Position im CAtlMap-Objekt zu entfernen.

CAtlMap::RemoveKey

Rufen Sie diese Methode auf, um ein Element aus dem CAtlMap-Objekt zu entfernen, die Schlüssel angegeben.

CAtlMap::SetAt

Rufen Sie diese Methode auf, um ein Elementpaar in die Zuordnung einzufügen.

CAtlMap::SetOptimalLoad

Rufen Sie diese Methode auf, um die optimale Auslastung des CAtlMap-Objekts festzulegen.

CAtlMap::SetValueAt

Rufen Sie diese Methode auf, um den Wert zu ändern, der in einer bestimmten Position im CAtlMap-Objekt gespeichert wird.

Öffentliche Operatoren

Name

Description

CAtlMap::operator []

Ersetzt oder wird ein neues Element CAtlMap hinzu.

Hinweise

CAtlMap bietet Unterstützung für ein Zuordnungsarray eines angegebenen Typs und verwaltet ein Array ungeordnetes Schlüsselelemente und ihre zugeordneten Werte. Elemente (einem Schlüssel und einem Wert bestehend) werden mithilfe eines Hashalgorithmus gespeichert und ermöglichen eine große Menge an effizient gespeichert werden und sind Daten abgerufen worden.

Die KTraits und VTraits-Parameter sind Merkmalklassen, die jeden ergänzenden Code enthalten, der erforderlich ist, um Elemente zu kopieren oder verschieben.

Eine Alternative zu CAtlMap wird durch die CRBMap-Klasse bereitgestellte. CRBMap speichert auch Schlüssel-Wert-Paare, aber unterschiedliche Leistungsmerkmale der Ausstellungen. Die Zeit, die verwendet wird, um ein Element einzufügen, ein Schlüssel gesucht wird, oder einen Schlüssel aus einem CRBMap-Objekt zu löschen, ist von der Ordnung log(n), wobei n die Anzahl der Elemente ist. Für CAtlMap dauern alle diese Vorgänge in der Regel eine konstante Zeit, obwohl schlechtestmögliche Entwicklungsverläufe möglicherweise von der Ordnung n sind. Daher in einem typischen Fall, ist CAtlMap schneller.

Der andere Unterschied zwischen CRBMap und CAtlMap wird beim Durchlaufen der gespeicherten Elemente erleichtern. In CRBMap werden die Elemente in einer sortierten Reihenfolge überprüft. In CAtlMap werden die Elemente nicht sortiert, und keine Reihenfolge kann abgeleitet werden.

Wenn eine kleine Anzahl Elemente gespeichert werden müssen, erwägen Sie, die CSimpleMap-Klasse stattdessen zu verwenden.

Weitere Informationen finden Sie unter ATL-Auflistungsklassen.

Anforderungen

Header: atlcoll.h

Siehe auch

Konzepte

Marquee-Beispiel

UpdatePV-Beispiel

Weitere Ressourcen

ATL Class Overview