Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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.