CMapStringToString – třída
Podporuje mapy CString
objektů s klíči podle CString
objektů.
Syntaxe
class CMapStringToString : public CObject
Členové
Členské funkce jsou podobné členské funkce CMapStringToString
třídy CMapStringToOb. Vzhledem k této podobnosti můžete použít CMapStringToOb
referenční dokumentaci pro specifika členské funkce. Kdykoli uvidíte ukazatel jako návratovou CObject
hodnotu nebo parametr funkce "output", nahraďte ukazatelem char
. Kdykoli uvidíte CObject
ukazatel jako parametr funkce "input", nahraďte ukazatelem char
.
BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;
Například se přeloží na
BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;
Veřejné struktury
Název | Popis |
---|---|
CMapStringToString::CPair | Vnořená struktura obsahující hodnotu klíče a hodnotu přidruženého objektu řetězce. |
Veřejné konstruktory
Název | Popis |
---|---|
CMapStringToString::CMapStringToString | Konstruktor |
Veřejné metody
Název | Popis |
---|---|
CMapStringToString::GetCount | Vrátí počet prvků v této mapě. |
CMapStringToString::GetHashTableSize | Určuje aktuální počet prvků v tabulce hash. |
CMapStringToString::GetNextAssoc | Získá další prvek pro iterování. |
CMapStringToString::GetSize | Vrátí počet prvků v této mapě. |
CMapStringToString::GetStartPosition | Vrátí pozici prvního prvku. |
CMapStringToString::HashKey | Vypočítá hodnotu hash zadaného klíče. |
CMapStringToString::InitHashTable | Inicializuje tabulku hash. |
CMapStringToString::IsEmpty | Testuje podmínku prázdné mapy (žádné prvky). |
CMapStringToString::Lookup | Vyhledá ukazatel void na základě klíče ukazatele void. Hodnota ukazatele, nikoli entita, na kterou odkazuje, se používá pro porovnání klíčů. |
CMapStringToString::LookupKey | Vrátí odkaz na klíč přidružený k zadané hodnotě klíče. |
CMapStringToString::P GetFirstAssoc | Získá ukazatel na první CString v mapě. |
CMapStringToString::P GetNextAssoc | Získá ukazatel na další CString iterace. |
CMapStringToString::P Vyhledat | Vrátí ukazatel na CString hodnotu, jejíž hodnota odpovídá zadané hodnotě. |
CMapStringToString::RemoveAll | Odebere všechny prvky z této mapy. |
CMapStringToString::RemoveKey | Odebere prvek určený klíčem. |
CMapStringToString::SetAt | Vloží prvek do mapy; nahradí existující prvek, pokud je nalezen odpovídající klíč. |
Veřejné operátory
Název | Popis |
---|---|
CMapStringToString::operator [ ] | Vloží prvek do mapy – nahrazení operátoru SetAt . |
Poznámky
CMapStringToString
IMPLEMENT_SERIAL
obsahuje makro pro podporu serializace a dumpingu jeho prvků. Každý prvek je serializován postupně, pokud je mapa uložena do archivu, buď s přetíženým kurzorem ( <<) operátor nebo členské Serialize
funkce.
Pokud potřebujete výpis jednotlivých CString
- CString
prvků, musíte nastavit hloubku kontextu výpisu na hodnotu 1 nebo vyšší.
Při odstranění objektu CMapStringToString
nebo při odebrání CString
jeho prvků se objekty odeberou podle potřeby.
Další informace najdete CMapStringToString
v článku Kolekce.
Hierarchie dědičnosti
CMapStringToString
Požadavky
Hlavička: afxcoll.h
CMapStringToString::CPair
Obsahuje hodnotu klíče a hodnotu přidruženého objektu řetězce.
Poznámky
Toto je vnořená struktura v rámci třídy CMapStringToString.
Struktura se skládá ze dvou polí:
key
Skutečná hodnota typu klíče.value
Hodnota přidruženého objektu.
Slouží k uložení návratových hodnot z CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc a CMapStringToString::P GetNextAssoc.
Příklad
Příklad použití najdete v příkladu pro CMapStringToString::P Lookup.
CMapStringToString::P GetFirstAssoc
Vrátí první položku objektu mapy.
const CPair* PGetFirstAssoc() const;
CPair* PGetFirstAssoc();
Návratová hodnota
Ukazatel na první položku v mapě; viz CMapStringToString::CPair. Pokud je mapa prázdná, hodnota je NULL.
Poznámky
Voláním této funkce vrátíte ukazatel prvního prvku v objektu mapy.
Příklad
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
CMapStringToString::CPair *pCurVal;
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
pCurVal = myMap.PGetFirstAssoc();
while (pCurVal != NULL)
{
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
pCurVal = myMap.PGetNextAssoc(pCurVal);
}
CMapStringToString::P GetNextAssoc
Načte prvek mapování, na který odkazuje pAssocRec.
const CPair *PGetNextAssoc(const CPair* pAssoc) const;
CPair *PGetNextAssoc(const CPair* pAssoc);
Parametry
Přidružení klienta
Odkazuje na položku mapy vrácenou předchozím voláním PGetNextAssoc nebo PGetFirstAssoc .
Návratová hodnota
Ukazatel na další položku v mapě; viz CMapStringToString::CPair. Pokud je prvek poslední v mapě, hodnota je NULL.
Poznámky
Voláním této metody iterujte všechny prvky v mapě. Načtěte první prvek voláním PGetFirstAssoc
a pak iterujte mapou s následnými voláními PGetNextAssoc
.
Příklad
Podívejte se na příklad pro CMapStringToString::P GetFirstAssoc.
CMapStringToString::P Vyhledat
Vyhledá hodnotu namapovanou na daný klíč.
const CPair* PLookup(LPCTSTR key) const;
CPair* PLookup(LPCTSTR key);
Parametry
key
Ukazatel na klíč pro prvek, který se má vyhledat.
Návratová hodnota
Ukazatel na zadaný klíč.
Poznámky
Voláním této metody vyhledejte prvek mapy s klíčem, který přesně odpovídá danému klíči.
Příklad
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
// Print the element values with odd key values.
CMapStringToString::CPair *pCurVal;
for (int i = 0; i < 4; i += 2)
{
pCurVal = myMap.PLookup(myStr[i]);
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
}