Share via


CSimpleMap-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse biedt ondersteuning voor een eenvoudige toewijzingsmatrix.

Syntaxis

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

Parameterwaarden

TKey
Het type sleutelelement.

TVal
Het waardeelementtype.

TEqual
Een kenmerkobject, het definiëren van de gelijkheidstest voor elementen van het type T.

Leden

Openbare typedefs

Naam Description
CSimpleMap::_ArrayElementType Typedef voor het waardetype.
CSimpleMap::_ArrayKeyType Typedef voor het sleuteltype.

Openbare constructors

Naam Description
CSimpleMap::CSimpleMap De constructor.
CSimpleMap::~CSimpleMap De destructor.

Openbare methoden

Naam Description
CSimpleMap::Toevoegen Voegt een sleutel en gekoppelde waarde toe aan de kaartmatrix.
CSimpleMap::FindKey Hiermee zoekt u een specifieke sleutel.
CSimpleMap::FindVal Hiermee zoekt u een specifieke waarde.
CSimpleMap::GetKeyAt Haalt de opgegeven sleutel op.
CSimpleMap::GetSize Retourneert het aantal vermeldingen in de toewijzingsmatrix.
CSimpleMap::GetValueAt Haalt de opgegeven waarde op.
CSimpleMap::Lookup Retourneert de waarde die is gekoppeld aan de opgegeven sleutel.
CSimpleMap::Remove Hiermee verwijdert u een sleutel en overeenkomende waarde.
CSimpleMap::RemoveAll Hiermee verwijdert u alle sleutels en waarden.
CSimpleMap::RemoveAt Hiermee verwijdert u een specifieke sleutel en overeenkomende waarde.
CSimpleMap::ReverseLookup Retourneert de sleutel die is gekoppeld aan de opgegeven waarde.
CSimpleMap::SetAt Hiermee stelt u de waarde in die is gekoppeld aan de opgegeven sleutel.
CSimpleMap::SetAtIndex Hiermee stelt u de specifieke sleutel en waarde in.

Opmerkingen

CSimpleMap biedt ondersteuning voor een eenvoudige toewijzingsmatrix van elk bepaald type T, het beheren van een niet-geordende matrix van sleutelelementen en de bijbehorende waarden.

De parameter TEqual biedt een manier om een gelijkheidsfunctie te definiëren voor twee elementen van het type T. Door een klasse te maken die vergelijkbaar is met CSimpleMapEqualHelper, is het mogelijk om het gedrag van de gelijkheidstest voor een bepaalde matrix te wijzigen. Als u bijvoorbeeld te maken hebt met een matrix met aanwijzers, kan het handig zijn om de gelijkheid te definiëren, afhankelijk van de waarden waarnaar de verwijzingen verwijzen. De standaard implementatie maakt gebruik van operator==().

Zowel CSimpleMapals CSimpleArray zijn beschikbaar voor compatibiliteit met eerdere ATL-releases, en meer complete en efficiënte verzamelingsimplementaties worden geleverd door CAtlArray en CAtlMap.

In tegenstelling tot andere kaartverzamelingen in ATL en MFC wordt deze klasse geïmplementeerd met een eenvoudige matrix en zoekacties vereisen een lineaire zoekopdracht. CAtlMap moet worden gebruikt wanneer de matrix een groot aantal elementen bevat.

Requirements

Koptekst: atlsimpcoll.h

Example

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

CSimpleMap::Toevoegen

Voegt een sleutel en gekoppelde waarde toe aan de kaartmatrix.

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

Parameterwaarden

sleutel
De sleutel.

val
De bijbehorende waarde.

Retourwaarde

Retourneert TRUE als de sleutel en waarde zijn toegevoegd, anders ONWAAR.

Opmerkingen

Elk sleutel- en waardepaar zorgt ervoor dat het toewijzingsmatrixgeheugen wordt vrijgemaakt en opnieuw wordt toegewezen, om ervoor te zorgen dat de gegevens voor elke sleutel altijd aaneengesloten worden opgeslagen. Dat wil gezegd, het tweede sleutelelement volgt altijd direct het eerste sleutelelement in het geheugen, enzovoort.

CSimpleMap::_ArrayElementType

Een typedef voor het sleuteltype.

typedef TVal _ArrayElementType;

CSimpleMap::_ArrayKeyType

Een typedef voor het waardetype.

typedef TKey _ArrayKeyType;

CSimpleMap::CSimpleMap

De constructor.

CSimpleMap();

Opmerkingen

Initialiseert de gegevensleden.

CSimpleMap::~CSimpleMap

De destructor.

~CSimpleMap();

Opmerkingen

Alle toegewezen resources worden vrijgemaakt.

CSimpleMap::FindKey

Hiermee zoekt u een specifieke sleutel.

int FindKey(const TKey& key) const;

Parameterwaarden

sleutel
De sleutel waarnaar gezocht moet worden.

Retourwaarde

Retourneert de index van de sleutel als deze wordt gevonden, anders wordt -1 geretourneerd.

CSimpleMap::FindVal

Hiermee zoekt u een specifieke waarde.

int FindVal(const TVal& val) const;

Parameterwaarden

val
De waarde waarnaar moet worden gezocht.

Retourwaarde

Retourneert de index van de waarde als deze wordt gevonden, anders wordt -1 geretourneerd.

CSimpleMap::GetKeyAt

Haalt de sleutel op in de opgegeven index.

TKey& GetKeyAt(int nIndex) const;

Parameterwaarden

nIndex
De index van de sleutel die moet worden geretourneerd.

Retourwaarde

Retourneert de sleutel waarnaar wordt verwezen door nIndex.

Opmerkingen

De index die door nIndex wordt doorgegeven, moet geldig zijn om de retourwaarde zinvol te laten zijn.

CSimpleMap::GetSize

Retourneert het aantal vermeldingen in de toewijzingsmatrix.

int GetSize() const;

Retourwaarde

Retourneert het aantal vermeldingen (een sleutel en waarde is één vermelding) in de toewijzingsmatrix.

CSimpleMap::GetValueAt

Haalt de waarde op bij de specifieke index.

TVal& GetValueAt(int nIndex) const;

Parameterwaarden

nIndex
De index van de waarde die moet worden geretourneerd.

Retourwaarde

Retourneert de waarde waarnaar wordt verwezen door nIndex.

Opmerkingen

De index die door nIndex wordt doorgegeven, moet geldig zijn om de retourwaarde zinvol te laten zijn.

CSimpleMap::Lookup

Retourneert de waarde die is gekoppeld aan de opgegeven sleutel.

TVal Lookup(const TKey& key) const;

Parameterwaarden

sleutel
De sleutel.

Retourwaarde

Retourneert de bijbehorende waarde. Als er geen overeenkomende sleutel wordt gevonden, wordt NULL geretourneerd.

CSimpleMap::Remove

Hiermee verwijdert u een sleutel en overeenkomende waarde.

BOOL Remove(const TKey& key);

Parameterwaarden

sleutel
De sleutel.

Retourwaarde

Retourneert TRUE als de sleutel en overeenkomende waarde zijn verwijderd, anders ONWAAR.

CSimpleMap::RemoveAll

Hiermee verwijdert u alle sleutels en waarden.

void RemoveAll();

Opmerkingen

Hiermee verwijdert u alle sleutels en waarden uit het toewijzingsmatrixobject.

CSimpleMap::RemoveAt

Hiermee verwijdert u een sleutel en de bijbehorende waarde in de opgegeven index.

BOOL RemoveAt(int nIndex);

Parameterwaarden

nIndex
De index van de sleutel en de bijbehorende waarde die u wilt verwijderen.

Retourwaarde

Retourneert TRUE bij geslaagd, FALSE als de opgegeven index een ongeldige index is.

CSimpleMap::ReverseLookup

Retourneert de sleutel die is gekoppeld aan de opgegeven waarde.

TKey ReverseLookup(const TVal& val) const;

Parameterwaarden

val
De waarde.

Retourwaarde

Retourneert de bijbehorende sleutel. Als er geen overeenkomende sleutel wordt gevonden, wordt NULL geretourneerd.

CSimpleMap::SetAt

Hiermee stelt u de waarde in die is gekoppeld aan de opgegeven sleutel.

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

Parameterwaarden

sleutel
De sleutel.

val
De nieuwe waarde die moet worden toegewezen.

Retourwaarde

Retourneert TRUE als de sleutel is gevonden en de waarde is gewijzigd, anders ONWAAR.

CSimpleMap::SetAtIndex

Hiermee stelt u de sleutel en waarde in op een opgegeven index.

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

Parameterwaarden

nIndex
De index, die verwijst naar de sleutel en de waardekoppeling die u wilt wijzigen.

sleutel
De nieuwe sleutel.

val
De nieuwe waarde.

Retourwaarde

Retourneert WAAR als deze is geslaagd, ONWAAR als de index niet geldig is.

Opmerkingen

Hiermee wordt zowel de sleutel als de waarde bijgewerkt die wordt verwezen door nIndex.

Zie ook

Overzicht van klassen