Dela via


CTypedPtrMap-klass

Tillhandahåller en typsäker "wrapper" för objekt i pekarkartans klasser CMapPtrToPtr, CMapPtrToWord, CMapWordToPtroch CMapStringToPtr.

Syntax

template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS

Parameterar

BASE_CLASS
Basklass för den typerade pekarkartaklassen; måste vara en pekarkartaklass (CMapPtrToPtr, CMapPtrToWord, CMapWordToPtreller CMapStringToPtr).

NYCKEL
Klass för det objekt som används som nyckel till kartan.

VÄRDE
Klass för objektet som lagras på kartan.

Medlemmar

Offentliga metoder

Namn Beskrivning
CTypedPtrMap::GetNextAssoc Hämtar nästa element för iterering.
CTypedPtrMap::Lookup Returnerar en KEY baserad på en VALUE.
CTypedPtrMap::RemoveKey Tar bort ett element som anges av en nyckel.
CTypedPtrMap::SetAt Infogar ett element i kartan. ersätter ett befintligt element om en matchande nyckel hittas.

Offentliga operatörer

Namn Beskrivning
CTypedPtrMap::operator [ ] Infogar ett element i kartan.

Anmärkningar

När du använder CTypedPtrMaphjälper typkontrollanläggningen C++ till att eliminera fel som orsakas av felmatchade pekartyper.

Eftersom alla CTypedPtrMap funktioner är infogade påverkar användningen av den här mallen inte kodens storlek eller hastighet avsevärt.

Mer information om hur du använder CTypedPtrMapfinns i artiklarna Samlingar och Template-Based klasser.

Arvshierarki

BASE_CLASS

CTypedPtrMap

Kravspecifikation

Rubrik: afxtempl.h

CTypedPtrMap::GetNextAssoc

Hämtar kartelementet på rNextPositionoch uppdaterar rNextPosition sedan för att referera till nästa element på kartan.

void GetNextAssoc(
    POSITION& rPosition,
    KEY& rKey,
    VALUE& rValue) const;

Parameterar

rPosition
Anger en referens till ett POSITION-värde som returnerades av ett tidigare GetNextAssoc eller BASE_CLASS::GetStartPosition-anrop .

NYCKEL
Mallparameter som anger typen av kartans nycklar.

rKey
Anger den returnerade nyckeln för det hämtade elementet.

VÄRDE
Mallparameter som anger typen av kartans värden.

rValue
Anger det returnerade värdet för det hämtade elementet.

Anmärkningar

Den här funktionen är mest användbar för iterering genom alla element på kartan. Observera att positionssekvensen inte nödvändigtvis är samma som nyckelvärdesekvensen.

Om det hämtade elementet är det sista i kartan anges det nya värdet rNextPosition för till NULL.

Den här infogade funktionen anropar BASE_CLASS::GetNextAssoc.

CTypedPtrMap::Lookup

Lookup använder en hashalgoritm för att snabbt hitta kartelementet med en nyckel som matchar exakt.

BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;

Parameterar

BASE_CLASS
Mallparameter som anger basklassen för den här kartans klass.

nyckel
Nyckeln för det element som ska letas upp.

VÄRDE
Mallparameter som anger vilken typ av värden som lagras i den här kartan.

rValue
Anger det returnerade värdet för det hämtade elementet.

Returvärde

Nonzero om elementet hittades; annars 0.

Anmärkningar

Den här infogade funktionen anropar BASE_CLASS::Lookup.

CTypedPtrMap::operator [ ]

Den här operatorn kan endast användas till vänster i en tilldelningsuttryck (ett l-värde).

VALUE& operator[ ](base_class ::base_arg_key key);

Parameterar

VÄRDE
Mallparameter som anger vilken typ av värden som lagras i den här kartan.

BASE_CLASS
Mallparameter som anger basklassen för den här kartans klass.

nyckel
Nyckeln för det element som ska letas upp eller skapas på kartan.

Anmärkningar

Om det inte finns något kartelement med den angivna nyckeln skapas ett nytt element. Det finns ingen "höger sida" (r-värde) som motsvarar den här operatorn eftersom det finns en risk att en nyckel inte hittas på kartan. Lookup Använd medlemsfunktionen för elementhämtning.

CTypedPtrMap::RemoveKey

Den här medlemsfunktionen anropar BASE_CLASS::RemoveKey.

BOOL RemoveKey(KEY key);

Parameterar

NYCKEL
Mallparameter som anger typen av kartans nycklar.

nyckel
Nyckel för att elementet ska tas bort.

Returvärde

Nonzero om posten hittades och togs bort. annars 0.

Anmärkningar

Mer detaljerade kommentarer finns i CMapStringToOb::RemoveKey.

CTypedPtrMap::SetAt

Den här medlemsfunktionen anropar BASE_CLASS::SetAt.

void SetAt(KEY key, VALUE newValue);

Parameterar

NYCKEL
Mallparameter som anger typen av kartans nycklar.

nyckel
Anger nyckelvärdet för newValue.

newValue
Anger den objektpekare som är värdet för det nya elementet.

Anmärkningar

Mer detaljerade kommentarer finns i CMapStringToOb::SetAt.

Se även

MFC Sample COLLECT
hierarkidiagram
CMapPtrToPtr-klass
CMapPtrToWord-klass
CMapWordToPtr-klass
CMapStringToPtr-klass