Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato třída poskytuje podporu jednoduchého mapování pole.
Syntaxe
template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap
Parametry
Klíč TKey
Typ klíčového prvku.
TVal
Typ prvku value.
TEqual
Objekt vlastnosti definující test rovnosti prvků typu T.
Členové
Veřejné definice typedef
| Název | Popis |
|---|---|
| CSimpleMap::_ArrayElementType | Typedef pro typ hodnoty. |
| CSimpleMap::_ArrayKeyType | Typedef pro typ klíče. |
Veřejné konstruktory
| Název | Popis |
|---|---|
| CSimpleMap::CSimpleMap | Konstruktor |
| CSimpleMap::~CSimpleMap | Destruktor. |
Veřejné metody
| Název | Popis |
|---|---|
| CSimpleMap::Add | Přidá klíč a přidruženou hodnotu do pole mapování. |
| CSimpleMap::FindKey | Najde konkrétní klíč. |
| CSimpleMap::FindVal | Najde konkrétní hodnotu. |
| CSimpleMap::GetKeyAt | Načte zadaný klíč. |
| CSimpleMap::GetSize | Vrátí počet položek v mapovacím poli. |
| CSimpleMap::GetValueAt | Načte zadanou hodnotu. |
| CSimpleMap::Lookup | Vrátí hodnotu přidruženou k danému klíči. |
| CSimpleMap::Remove | Odebere klíč a odpovídající hodnotu. |
| CSimpleMap::RemoveAll | Odebere všechny klíče a hodnoty. |
| CSimpleMap::RemoveAt | Odebere konkrétní klíč a odpovídající hodnotu. |
| CSimpleMap::ReverseLookup | Vrátí klíč přidružený k dané hodnotě. |
| CSimpleMap::SetAt | Nastaví hodnotu přidruženou k danému klíči. |
| CSimpleMap::SetAtIndex | Nastaví konkrétní klíč a hodnotu. |
Poznámky
CSimpleMap poskytuje podporu jednoduchého mapování pole libovolného typu T, správa neuspořádaného pole klíčových prvků a jejich přidružených hodnot.
TEqual Parametr poskytuje způsob definování funkce rovnosti pro dva prvky typu T. Vytvořením třídy podobné CSimpleMapEqualHelper je možné změnit chování testu rovnosti pro jakékoli dané pole. Například při práci s polem ukazatelů může být užitečné definovat rovnost v závislosti na hodnotách, na které odkazují ukazatele. Výchozí implementace využívá operator==().
Pro zajištění kompatibility s předchozími verzemi ATL jsou k dispozici obě CSimpleMap verze CSimpleArray a CAtlMap jsou k dispozici ucelenější a efektivnější implementace kolekcí.
Na rozdíl od jiných mapových kolekcí v ATL a MFC je tato třída implementována s jednoduchým polem a vyhledávání vyžaduje lineární vyhledávání. CAtlMap by se mělo použít, pokud pole obsahuje velký počet prvků.
Požadavky
Hlavička: atlsimpcoll.h
Příklad
// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;
CSimpleMap::Add
Přidá klíč a přidruženou hodnotu do pole mapování.
BOOL Add(const TKey& key, const TVal& val);
Parametry
key
Klíč
Val
Přidružená hodnota.
Návratová hodnota
Vrátí hodnotu TRUE, pokud byl klíč a hodnota úspěšně přidány, jinak nePRAVDA.
Poznámky
Každý přidaný pár klíč a hodnota způsobí uvolnění a přerozdělování paměti pole mapování, aby se zajistilo, že data pro každý z nich budou vždy uložena souvisle. To znamená, že druhý klíčový prvek vždy přímo následuje první klíčový prvek v paměti atd.
CSimpleMap::_ArrayElementType
Typedef pro typ klíče.
typedef TVal _ArrayElementType;
CSimpleMap::_ArrayKeyType
Typedef pro typ hodnoty.
typedef TKey _ArrayKeyType;
CSimpleMap::CSimpleMap
Konstruktor
CSimpleMap();
Poznámky
Inicializuje datové členy.
CSimpleMap::~CSimpleMap
Destruktor.
~CSimpleMap();
Poznámky
Uvolní všechny přidělené prostředky.
CSimpleMap::FindKey
Najde konkrétní klíč.
int FindKey(const TKey& key) const;
Parametry
key
Klíč, který chcete vyhledat.
Návratová hodnota
Vrátí index klíče, pokud je nalezen, v opačném případě vrátí hodnotu -1.
CSimpleMap::FindVal
Najde konkrétní hodnotu.
int FindVal(const TVal& val) const;
Parametry
Val
Hodnota, pro kterou chcete hledat.
Návratová hodnota
Vrátí index hodnoty, pokud je nalezena, v opačném případě vrátí hodnotu -1.
CSimpleMap::GetKeyAt
Načte klíč v zadaném indexu.
TKey& GetKeyAt(int nIndex) const;
Parametry
nIndex
Index klíče, který se má vrátit.
Návratová hodnota
Vrátí klíč, na který odkazuje nIndex.
Poznámky
Index předaný parametrem nIndex musí být platný, aby vrácená hodnota byla smysluplná.
CSimpleMap::GetSize
Vrátí počet položek v mapovacím poli.
int GetSize() const;
Návratová hodnota
Vrátí počet položek (klíč a hodnota je jedna položka) v mapovacím poli.
CSimpleMap::GetValueAt
Načte hodnotu v konkrétním indexu.
TVal& GetValueAt(int nIndex) const;
Parametry
nIndex
Index hodnoty, která se má vrátit.
Návratová hodnota
Vrátí hodnotu odkazovanou hodnotou nIndex.
Poznámky
Index předaný parametrem nIndex musí být platný, aby vrácená hodnota byla smysluplná.
CSimpleMap::Lookup
Vrátí hodnotu přidruženou k danému klíči.
TVal Lookup(const TKey& key) const;
Parametry
key
Klíč
Návratová hodnota
Vrátí přidruženou hodnotu. Pokud se nenajde žádný odpovídající klíč, vrátí se hodnota NULL.
CSimpleMap::Remove
Odebere klíč a odpovídající hodnotu.
BOOL Remove(const TKey& key);
Parametry
key
Klíč
Návratová hodnota
Vrátí hodnotu TRUE, pokud byl klíč a odpovídající hodnota úspěšně odebrána, jinak nePRAVDA.
CSimpleMap::RemoveAll
Odebere všechny klíče a hodnoty.
void RemoveAll();
Poznámky
Odebere všechny klíče a hodnoty z objektu mapování pole.
CSimpleMap::RemoveAt
Odebere klíč a přidruženou hodnotu v zadaném indexu.
BOOL RemoveAt(int nIndex);
Parametry
nIndex
Index klíče a přidružené hodnoty, které chcete odebrat.
Návratová hodnota
Vrátí hodnotu PRAVDA při úspěchu, nePRAVDA, pokud zadaný index je neplatný index.
CSimpleMap::ReverseLookup
Vrátí klíč přidružený k dané hodnotě.
TKey ReverseLookup(const TVal& val) const;
Parametry
Val
Hodnota .
Návratová hodnota
Vrátí přidružený klíč. Pokud se nenajde žádný odpovídající klíč, vrátí se hodnota NULL.
CSimpleMap::SetAt
Nastaví hodnotu přidruženou k danému klíči.
BOOL SetAt(const TKey& key, const TVal& val);
Parametry
key
Klíč
Val
Nová hodnota, kterou chcete přiřadit.
Návratová hodnota
Vrátí hodnotu TRUE, pokud byl klíč nalezen a hodnota byla úspěšně změněna, jinak nePRAVDA.
CSimpleMap::SetAtIndex
Nastaví klíč a hodnotu v zadaném indexu.
BOOL SetAtIndex(
int nIndex,
const TKey& key,
const TVal& val);
Parametry
nIndex
Index, který odkazuje na pár klíč a hodnota, aby se změnil.
key
Nový klíč.
Val
Nová hodnota.
Návratová hodnota
Pokud je index úspěšný, vrátí hodnotu PRAVDA, pokud index není platný.
Poznámky
Aktualizuje klíč i hodnotu, na kterou odkazuje nIndex.