Share via


CAtlMap-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 methoden voor het maken en beheren van een kaartobject.

Syntaxis

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

Parameterwaarden

K
Het type sleutelelement.

V
Het waardeelementtype.

KTraits
De code die wordt gebruikt om sleutelelementen te kopiëren of te verplaatsen. Zie CElementTraits Class voor meer informatie.

VTraits
De code die wordt gebruikt voor het kopiëren of verplaatsen van waarde-elementen.

Leden

Openbare typedefs

Naam Description
CAtlMap::KINARGTYPE Type dat wordt gebruikt wanneer een sleutel wordt doorgegeven als invoerargument
CAtlMap::KOUTARGTYPE Type dat wordt gebruikt wanneer een sleutel wordt geretourneerd als een uitvoerargument.
CAtlMap::VINARGTYPE Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als invoerargument.
CAtlMap::VOUTARGTYPE Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als een uitvoerargument.

Openbare klassen

Naam Description
CAtlMap::CPair-klasse Een klasse met de sleutel- en waarde-elementen.

CPair-gegevensleden

Naam Description
CPair::m_key Het gegevenslid dat het sleutelelement opslaat.
CPair::m_value Het gegevenslid dat het waardeelement opslaat.

Openbare constructors

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

Openbare methoden

Naam Description
CAtlMap::AssertValid Roep deze methode aan om een ASSERT te veroorzaken als de CAtlMap waarde ongeldig is.
CAtlMap::D isableAutoRehash Roep deze methode aan om automatische herhashing van het CAtlMap object uit te schakelen.
CAtlMap::EnableAutoRehash Roep deze methode aan om automatische herhashing van het CAtlMap object in te schakelen.
CAtlMap::GetAt Roep deze methode aan om het element op een opgegeven positie in de kaart te retourneren.
CAtlMap::GetCount Roep deze methode aan om het aantal elementen in de kaart op te halen.
CAtlMap::GetHashTableSize Roep deze methode aan om het aantal bins in de hash-tabel van de kaart te bepalen.
CAtlMap::GetKeyAt Roep deze methode aan om de sleutel op te halen die is opgeslagen op de opgegeven positie in het CAtlMap object.
CAtlMap::GetNext Roep deze methode aan om een aanwijzer te verkrijgen naar het volgende elementpaar dat is opgeslagen in het CAtlMap object.
CAtlMap::GetNextAssoc Hiermee haalt u het volgende element op voor het herhalen.
CAtlMap::GetNextKey Roep deze methode aan om de volgende sleutel op te halen uit het CAtlMap object.
CAtlMap::GetNextValue Roep deze methode aan om de volgende waarde van het CAtlMap object op te halen.
CAtlMap::GetStartPosition Roep deze methode aan om een kaartiteratie te starten.
CAtlMap::GetValueAt Roep deze methode aan om de waarde op te halen die is opgeslagen op een bepaalde positie in het CAtlMap object.
CAtlMap::InitHashTable Roep deze methode aan om de hash-tabel te initialiseren.
CAtlMap::IsEmpty Roep deze methode aan om te testen op een leeg kaartobject.
CAtlMap::Lookup Roep deze methode aan om sleutels of waarden in het CAtlMap object op te zoeken.
CAtlMap::Rehash Roep deze methode aan om het CAtlMap object opnieuw te maken.
CAtlMap::RemoveAll Roep deze methode aan om alle elementen uit het CAtlMap object te verwijderen.
CAtlMap::RemoveAtPos Roep deze methode aan om het element op de opgegeven positie in het CAtlMap object te verwijderen.
CAtlMap::RemoveKey Roep deze methode aan om een element uit het CAtlMap object te verwijderen, op basis van de sleutel.
CAtlMap::SetAt Roep deze methode aan om een elementpaar in de kaart in te voegen.
CAtlMap::SetOptimalLoad Roep deze methode aan om de optimale belasting van het CAtlMap object in te stellen.
CAtlMap::SetValueAt Roep deze methode aan om de waarde te wijzigen die is opgeslagen op een bepaalde positie in het CAtlMap object.

Openbare operators

Naam Description
CAtlMap::operator[] Vervangt of voegt een nieuw element toe aan de CAtlMap.

Opmerkingen

CAtlMap biedt ondersteuning voor een toewijzingsmatrix van elk bepaald type, het beheren van een niet-geordende matrix van sleutelelementen en de bijbehorende waarden. Elementen (bestaande uit een sleutel en een waarde) worden opgeslagen met behulp van een hash-algoritme, waardoor een grote hoeveelheid gegevens efficiënt kan worden opgeslagen en opgehaald.

De KTraits - en VTraits-parameters zijn eigenschappenklassen die aanvullende code bevatten die nodig is om elementen te kopiëren of te verplaatsen.

Er wordt een alternatief CAtlMap geboden voor de CRBMap-klasse . CRBMap slaat ook sleutel-waardeparen op, maar vertoont verschillende prestatiekenmerken. De tijd die nodig is om een item in te voegen, een sleutel op te zoeken of een sleutel uit een CRBMap object te verwijderen, is van orderlogboek(n), waarbij n het aantal elementen is. Voor CAtlMapal deze bewerkingen duurt het meestal een constante tijd, hoewel scenario's in het slechtste geval van volgorde n kunnen zijn. In een typisch geval gaat het CAtlMap daarom sneller.

Het andere verschil tussen CRBMap en CAtlMap wordt zichtbaar bij het doorlopen van de opgeslagen elementen. In een CRBMap, worden de elementen in een gesorteerde volgorde bezocht. In een CAtlMap, worden de elementen niet geordend en kan geen volgorde worden afgeleid.

Wanneer een klein aantal elementen moet worden opgeslagen, kunt u in plaats daarvan de CSimpleMap-klasse gebruiken.

Zie ATL-verzamelingsklassen voor meer informatie.

Requirements

Koptekst: atlcoll.h

CAtlMap::AssertValid

Roep deze methode aan om een ASSERT te veroorzaken als het CAtlMap object ongeldig is.

void AssertValid() const;

Opmerkingen

In builds voor foutopsporing veroorzaakt deze methode een ASSERT als het CAtlMap object ongeldig is.

Example

Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::CAtlMap

De constructor.

CAtlMap(
    UINT nBins = 17,
    float fOptimalLoad = 0.75f,
    float fLoThreshold = 0.25f,
    float fHiThreshold = 2.25f,
    UINT nBlockSize = 10) throw ();

Parameterwaarden

nBins
Het aantal opslaglocaties dat verwijst naar de opgeslagen elementen. Zie Opmerkingen verderop in dit onderwerp voor een uitleg van bins.

fOptimalLoad
De optimale belastingverhouding.

fLoThreshold
De lagere drempelwaarde voor de belastingverhouding.

fHiThreshold
De bovenste drempelwaarde voor de belastingverhouding.

nBlockSize
De blokgrootte.

Opmerkingen

CAtlMap verwijst naar alle opgeslagen elementen door eerst een index te maken met behulp van een hash-algoritme op de sleutel. Deze index verwijst naar een 'bin' die een aanwijzer bevat naar de opgeslagen elementen. Als de bin al in gebruik is, wordt er een gekoppelde lijst gemaakt voor toegang tot de volgende elementen. Het doorlopen van een lijst verloopt langzamer dan rechtstreeks toegang tot het juiste element. De kaartstructuur moet dus de opslagvereisten in balans houden met de prestaties. De standaardparameters zijn gekozen om in de meeste gevallen goede resultaten te geven.

De belastingverhouding is de verhouding van het aantal bins tot het aantal elementen dat is opgeslagen in het kaartobject. Wanneer de kaartstructuur opnieuw wordt berekend, wordt de parameterwaarde fOptimalLoad gebruikt om het aantal vereiste bins te berekenen. Deze waarde kan worden gewijzigd met behulp van de methode CAtlMap::SetOptimalLoad .

De parameter fLoThreshold is de lagere waarde die de belastingverhouding kan bereiken voordat CAtlMap de optimale grootte van de kaart opnieuw wordt berekend.

De parameter fHiThreshold is de bovenste waarde die de belastingverhouding kan bereiken voordat het CAtlMap object de optimale grootte van de kaart opnieuw berekent.

Dit herberekeningsproces (ook wel rehashing genoemd) is standaard ingeschakeld. Als u dit proces wilt uitschakelen, bijvoorbeeld wanneer u veel gegevens tegelijk invoert, roept u de methode CAtlMap::D isableAutoRehash aan. Activeer deze opnieuw met de methode CAtlMap::EnableAutoRehash .

De parameter nBlockSize is een meting van de hoeveelheid geheugen die is toegewezen wanneer een nieuw element is vereist. Grotere blokgrootten verminderen aanroepen naar geheugentoewijzingsroutines, maar gebruiken meer resources.

Voordat gegevens kunnen worden opgeslagen, moet u de hashtabel initialiseren met een aanroep naar CAtlMap::InitHashTable.

Example

// Create a map which stores a double
// value using an integer key

CAtlMap<int, double> mySinTable;
int i;

// Initialize the Hash Table
mySinTable.InitHashTable(257);

// Add items to the map
for (i = 0; i < 90; i++)
   mySinTable[i] = sin((double)i);

// Confirm the map is valid
mySinTable.AssertValid();

// Confirm the number of elements in the map
ATLASSERT(mySinTable.GetCount() == 90);

// Remove elements with even key values
for (i = 0; i < 90; i += 2)
   mySinTable.RemoveKey(i);

// Confirm the number of elements in the map
ATLASSERT(mySinTable.GetCount() == 45);

// Walk through all the elements in the map.
// First, get start position.
POSITION pos;
int key;
double value;
pos = mySinTable.GetStartPosition();

// Now iterate the map, element by element
while (pos != NULL) 
{
   key = mySinTable.GetKeyAt(pos);
   value = mySinTable.GetNextValue(pos);
}

CAtlMap::~CAtlMap

De destructor.

~CAtlMap() throw();

Opmerkingen

Alle toegewezen resources worden vrijgemaakt.

CAtlMap::CPair-klasse

Een klasse met de sleutel- en waarde-elementen.

class CPair : public __POSITION

Opmerkingen

Deze klasse wordt gebruikt door de methoden CAtlMap::GetNext en CAtlMap::Lookup voor toegang tot de sleutel- en waarde-elementen die zijn opgeslagen in de toewijzingsstructuur.

CAtlMap::D isableAutoRehash

Roep deze methode aan om automatische herhashing van het CAtlMap object uit te schakelen.

void DisableAutoRehash() throw();

Opmerkingen

Wanneer automatische rehashing is ingeschakeld (dit is standaard), wordt het aantal bins in de hash-tabel automatisch opnieuw berekend als de belastingwaarde (de verhouding van het aantal bins tot het aantal elementen dat in de matrix is opgeslagen) de maximum- of minimumwaarden overschrijdt die zijn opgegeven op het moment dat de kaart is gemaakt.

DisableAutoRehash is het handigst wanneer een groot aantal elementen tegelijk aan de kaart wordt toegevoegd. In plaats van het rehashingproces te activeren telkens wanneer de limieten worden overschreden, is het efficiënter om aan te roepen DisableAutoRehash, de elementen toe te voegen en ten slotte CAtlMap::EnableAutoRehash aan te roepen.

CAtlMap::EnableAutoRehash

Roep deze methode aan om automatische herhashing van het CAtlMap object in te schakelen.

void EnableAutoRehash() throw();

Opmerkingen

Wanneer automatische rehashing is ingeschakeld (dit is standaard), wordt het aantal bins in de hash-tabel automatisch opnieuw berekend als de belastingwaarde (de verhouding van het aantal bins tot het aantal elementen dat in de matrix is opgeslagen) de maximum- of minimumwaarden overschrijdt die zijn opgegeven op het moment dat de kaart wordt gemaakt.

EnableAutoRefresh wordt meestal gebruikt na een aanroep naar CAtlMap::D isableAutoRehash.

CAtlMap::GetAt

Roep deze methode aan om het element op een opgegeven positie in de kaart te retourneren.

void GetAt(
    POSITION pos,
    KOUTARGTYPE key,
    VOUTARGTYPE value) const;

CPair* GetAt(POSITION& pos) throw();

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

sleutel
Sjabloonparameter die het type van de sleutel van de kaart opgeeft.

value
Sjabloonparameter die het type van de waarde van de kaart opgeeft.

Retourwaarde

Retourneert een aanwijzer naar het huidige paar sleutel-/waarde-elementen die zijn opgeslagen in de kaart.

Opmerkingen

In builds voor foutopsporing treedt een assertiefout op als pos gelijk is aan NULL.

CAtlMap::GetCount

Roep deze methode aan om het aantal elementen in de kaart op te halen.

size_t GetCount() const throw();

Retourwaarde

Retourneert het aantal elementen in het kaartobject. Eén element is een sleutel-waardepaar.

Example

Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::GetHashTableSize

Roep deze methode aan om het aantal bins in de hash-tabel van de kaart te bepalen.

UINT GetHashTableSize() const throw();

Retourwaarde

Retourneert het aantal bins in de hash-tabel. Zie CAtlMap::CAtlMap voor een uitleg.

CAtlMap::GetKeyAt

Roep deze methode aan om de sleutel op te halen die is opgeslagen op de opgegeven positie in het CAtlMap object.

const K& GetKeyAt(POSITION pos) const throw();

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

Retourwaarde

Retourneert een verwijzing naar de sleutel die is opgeslagen op de opgegeven positie in het CAtlMap object.

Example

Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::GetNext

Roep deze methode aan om een aanwijzer te verkrijgen naar het volgende elementpaar dat is opgeslagen in het CAtlMap object.

CPair* GetNext(POSITION& pos) throw();
const CPair* GetNext(POSITION& pos) const throw();

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

Retourwaarde

Retourneert een aanwijzer naar het volgende paar sleutel-/waarde-elementen die zijn opgeslagen in de kaart. De pospositieteller wordt na elke aanroep bijgewerkt. Als het opgehaalde element de laatste in de kaart is, wordt pos ingesteld op NULL.

CAtlMap::GetNextAssoc

Hiermee haalt u het volgende element op voor het herhalen.

void GetNextAssoc(
    POSITION& pos,
    KOUTARGTYPE key,
    VOUTARGTYPE value) const;

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

sleutel
Sjabloonparameter die het type van de sleutel van de kaart opgeeft.

value
Sjabloonparameter die het type van de waarde van de kaart opgeeft.

Opmerkingen

De pospositieteller wordt na elke aanroep bijgewerkt. Als het opgehaalde element de laatste in de kaart is, wordt pos ingesteld op NULL.

CAtlMap::GetNextKey

Roep deze methode aan om de volgende sleutel op te halen uit het CAtlMap object.

const K& GetNextKey(POSITION& pos) const throw();

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

Retourwaarde

Retourneert een verwijzing naar de volgende sleutel in de kaart.

Opmerkingen

Hiermee werkt u de huidige positieteller bij, pos. Als er geen vermeldingen meer in de kaart staan, wordt de positieteller ingesteld op NULL.

CAtlMap::GetNextValue

Roep deze methode aan om de volgende waarde van het CAtlMap object op te halen.

V& GetNextValue(POSITION& pos) throw();
const V& GetNextValue(POSITION& pos) const throw();

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

Retourwaarde

Retourneert een verwijzing naar de volgende waarde in de kaart.

Opmerkingen

Hiermee werkt u de huidige positieteller bij, pos. Als er geen vermeldingen meer in de kaart staan, wordt de positieteller ingesteld op NULL.

Example

Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::GetStartPosition

Roep deze methode aan om een kaartiteratie te starten.

POSITION GetStartPosition() const throw();

Retourwaarde

Retourneert de beginpositie of NULL wordt geretourneerd als de kaart leeg is.

Opmerkingen

Roep deze methode aan om een toewijzingsiteratie te starten door een POSITION-waarde te retourneren die kan worden doorgegeven aan de GetNextAssoc methode.

Opmerking

De herhalingsvolgorde is niet voorspelbaar

Example

Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::GetValueAt

Roep deze methode aan om de waarde op te halen die is opgeslagen op een bepaalde positie in het CAtlMap object.

V& GetValueAt(POSITION pos) throw();
const V& GetValueAt(POSITION pos) const throw();

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

Retourwaarde

Retourneert een verwijzing naar de waarde die is opgeslagen op de opgegeven positie in het CAtlMap object.

CAtlMap::InitHashTable

Roep deze methode aan om de hash-tabel te initialiseren.

bool InitHashTable(
    UINT nBins,
    bool bAllocNow = true);

Parameterwaarden

nBins
Het aantal opslaglocaties dat door de hash-tabel wordt gebruikt. Zie CAtlMap::CAtlMap voor een uitleg.

bAllocNow
Een markeringsaanduiding wanneer geheugen moet worden toegewezen.

Retourwaarde

Retourneert TRUE bij geslaagde initialisatie, ONWAAR bij fout.

Opmerkingen

InitHashTable moet worden aangeroepen voordat elementen worden opgeslagen in de hash-tabel. Als deze methode niet expliciet wordt aangeroepen, wordt deze automatisch aangeroepen wanneer een element voor het eerst wordt toegevoegd met behulp van het aantal bin's dat is opgegeven door de CAtlMap constructor. Anders wordt de kaart geïnitialiseerd met behulp van het nieuwe bin-aantal dat is opgegeven door de parameter nBins .

Als de parameter bAllocNow onwaar is, wordt het geheugen dat is vereist voor de hash-tabel pas toegewezen als deze voor het eerst is vereist. Dit kan handig zijn als het niet zeker is of de kaart wordt gebruikt.

Example

Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::IsEmpty

Roep deze methode aan om te testen op een leeg kaartobject.

bool IsEmpty() const throw();

Retourwaarde

Retourneert TRUE als de kaart leeg is, anders ONWAAR.

CAtlMap::KINARGTYPE

Type dat wordt gebruikt wanneer een sleutel wordt doorgegeven als invoerargument.

typedef KTraits::INARGTYPE KINARGTYPE;

CAtlMap::KOUTARGTYPE

Type dat wordt gebruikt wanneer een sleutel wordt geretourneerd als een uitvoerargument.

typedef KTraits::OUTARGTYPE KOUTARGTYPE;

CAtlMap::Lookup

Roep deze methode aan om sleutels of waarden in het CAtlMap object op te zoeken.

bool Lookup(KINARGTYPE key, VOUTARGTYPE value) const;
const CPair* Lookup(KINARGTYPE key) const throw();
CPair* Lookup(KINARGTYPE key) throw();

Parameterwaarden

sleutel
Hiermee geeft u de sleutel op waarmee het element wordt geïdentificeerd dat moet worden opgezoekd.

value
Variabele die de opgezoekde waarde ontvangt.

Retourwaarde

De eerste vorm van de methode retourneert waar als de sleutel wordt gevonden, anders onwaar. De tweede en derde vorm retourneren een aanwijzer naar een CPair die kan worden gebruikt als een positie voor aanroepen naar CAtlMap::GetNext enzovoort.

Opmerkingen

Lookup gebruikt een hash-algoritme om snel het kaartelement te vinden dat een sleutel bevat die exact overeenkomt met de opgegeven sleutelparameter.

CAtlMap::operator []

Vervangt of voegt een nieuw element toe aan de CAtlMap.

V& operator[](kinargtype key) throw();

Parameterwaarden

sleutel
De sleutel van het element dat moet worden toegevoegd of vervangen.

Retourwaarde

Retourneert een verwijzing naar de waarde die is gekoppeld aan de opgegeven sleutel.

Example

Als de sleutel al bestaat, wordt het element vervangen. Als de sleutel niet bestaat, wordt er een nieuw element toegevoegd. Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::Rehash

Roep deze methode aan om het CAtlMap object opnieuw te maken.

void Rehash(UINT nBins = 0);

Parameterwaarden

nBins
Het nieuwe aantal opslaglocaties dat moet worden gebruikt in de hash-tabel. Zie CAtlMap::CAtlMap voor een uitleg.

Opmerkingen

Als nBins 0 is, CAtlMap berekent u een redelijk aantal op basis van het aantal elementen in de kaart en de optimale belastingsinstelling. Normaal gesproken is het rehashingproces automatisch, maar als CAtlMap::D isableAutoRehash is aangeroepen, wordt met deze methode de benodigde grootte gewijzigd.

CAtlMap::RemoveAll

Roep deze methode aan om alle elementen uit het CAtlMap object te verwijderen.

void RemoveAll() throw();

Opmerkingen

Hiermee wordt het CAtlMap object gewist, waardoor het geheugen wordt vrijgemaakt dat wordt gebruikt om de elementen op te slaan.

CAtlMap::RemoveAtPos

Roep deze methode aan om het element op de opgegeven positie in het CAtlMap object te verwijderen.

void RemoveAtPos(POSITION pos) throw();

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

Opmerkingen

Hiermee verwijdert u het sleutel-waardepaar dat is opgeslagen op de opgegeven positie. Het geheugen dat wordt gebruikt om het element op te slaan, wordt vrijgemaakt. De positie waarnaar wordt verwezen door pos , wordt ongeldig en terwijl de POSITIE van andere elementen in de kaart geldig blijft, behouden ze niet noodzakelijkerwijs dezelfde volgorde.

CAtlMap::RemoveKey

Roep deze methode aan om een element uit het CAtlMap object te verwijderen, op basis van de sleutel.

bool RemoveKey(KINARGTYPE key) throw();

Parameterwaarden

sleutel
De sleutel die overeenkomt met het elementpaar dat u wilt verwijderen.

Retourwaarde

Retourneert TRUE als de sleutel wordt gevonden en verwijderd, ONWAAR bij fout.

Example

Zie het voorbeeld voor CAtlMap::CAtlMap.

CAtlMap::SetAt

Roep deze methode aan om een elementpaar in de kaart in te voegen.

POSITION SetAt(
    KINARGTYPE key,
    VINARGTYPE value);

Parameterwaarden

sleutel
De sleutelwaarde die moet worden toegevoegd aan het CAtlMap object.

value
De waarde die moet worden toegevoegd aan het CAtlMap object.

Retourwaarde

Retourneert de positie van het sleutel-waarde-elementpaar in het CAtlMap object.

Opmerkingen

SetAt vervangt een bestaand element als er een overeenkomende sleutel wordt gevonden. Als de sleutel niet wordt gevonden, wordt er een nieuw sleutel-/waardepaar gemaakt.

CAtlMap::SetOptimalLoad

Roep deze methode aan om de optimale belasting van het CAtlMap object in te stellen.

void SetOptimalLoad(
    float fOptimalLoad,
    float fLoThreshold,
    float fHiThreshold,
    bool bRehashNow = false);

Parameterwaarden

fOptimalLoad
De optimale belastingverhouding.

fLoThreshold
De lagere drempelwaarde voor de belastingverhouding.

fHiThreshold
De bovenste drempelwaarde voor de belastingverhouding.

bRehashNow
Vlag die aangeeft of de hash-tabel opnieuw moet worden berekend.

Opmerkingen

Met deze methode wordt de optimale belastingswaarde voor het CAtlMap object opnieuw gedefinieerd. Zie CAtlMap::CAtlMap voor een bespreking van de verschillende parameters. Als bRehashNow waar is en het aantal elementen buiten de minimum- en maximumwaarden valt, wordt de hash-tabel opnieuw berekend.

CAtlMap::SetValueAt

Roep deze methode aan om de waarde te wijzigen die is opgeslagen op een bepaalde positie in het CAtlMap object.

void SetValueAt(
    POSITION pos,
    VINARGTYPE value);

Parameterwaarden

Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.

value
De waarde die moet worden toegevoegd aan het CAtlMap object.

Opmerkingen

Hiermee wijzigt u het waarde-element dat is opgeslagen op de opgegeven positie in het CAtlMap object.

CAtlMap::VINARGTYPE

Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als invoerargument.

typedef VTraits::INARGTYPE VINARGTYPE;

CAtlMap::VOUTARGTYPE

Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als een uitvoerargument.

typedef VTraits::OUTARGTYPE VOUTARGTYPE;

CAtlMap::CPair::m_key

Het gegevenslid dat het sleutelelement opslaat.

const K m_key;

Parameterwaarden

K
Het type sleutelelement.

CAtlMap::CPair::m_value

Het gegevenslid dat het waardeelement opslaat.

V  m_value;

Parameterwaarden

V
Het waardeelementtype.

Zie ook

Voorbeeld van een selectiekader
Voorbeeld updatePV
Overzicht van klassen