Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta klasa zapewnia obsługę prostej tablicy mapowania.
Składnia
template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap
Parametry
Klucz TKey
Typ kluczowego elementu.
TVal
Typ elementu wartości.
TEqual
Obiekt cech definiujący test równości dla elementów typu T.
Elementy członkowskie
Definicje typów publicznych
| Nazwa/nazwisko | opis |
|---|---|
| CSimpleMap::_ArrayElementType | Typedef dla typu wartości. |
| CSimpleMap::_ArrayKeyType | Typedef dla typu klucza. |
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CSimpleMap::CSimpleMap | Konstruktor. |
| CSimpleMap::~CSimpleMap | Destruktora. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CSimpleMap::Add | Dodaje klucz i skojarzona wartość do tablicy map. |
| CSimpleMap::FindKey | Znajduje określony klucz. |
| CSimpleMap::FindVal | Znajduje określoną wartość. |
| CSimpleMap::GetKeyAt | Pobiera określony klucz. |
| CSimpleMap::GetSize | Zwraca liczbę wpisów w tablicy mapowania. |
| CSimpleMap::GetValueAt | Pobiera określoną wartość. |
| CSimpleMap::Lookup | Zwraca wartość skojarzona z danym kluczem. |
| CSimpleMap::Remove | Usuwa klucz i zgodną wartość. |
| CSimpleMap::RemoveAll | Usuwa wszystkie klucze i wartości. |
| CSimpleMap::RemoveAt | Usuwa określony klucz i pasujące wartości. |
| CSimpleMap::ReverseLookup | Zwraca klucz skojarzony z daną wartością. |
| CSimpleMap::SetAt | Ustawia wartość skojarzona z danym kluczem. |
| CSimpleMap::SetAtIndex | Ustawia określony klucz i wartość. |
Uwagi
CSimpleMap Zapewnia obsługę prostej tablicy mapowania dowolnego typu T, zarządzając nieurządkowaną tablicą kluczowych elementów i skojarzonych z nimi wartości.
Parametr TEqual zapewnia metodę definiowania funkcji równości dla dwóch elementów typu T. Tworząc klasę podobną do CSimpleMapEqualHelper, można zmienić zachowanie testu równości dla dowolnej tablicy. Na przykład w przypadku obsługi tablicy wskaźników może być przydatne zdefiniowanie równości w zależności od wartości, do których odwołuje się wskaźnik. Domyślna implementacja korzysta z operatora==().
ZarównoCSimpleMap, jak i CSimpleArray są udostępniane pod kątem zgodności z poprzednimi wersjami ATL, a bardziej kompletne i wydajne implementacje kolekcji są dostarczane przez CAtlArray i CAtlMap.
W przeciwieństwie do innych kolekcji map w atl i MFC ta klasa jest implementowana przy użyciu prostej tablicy, a wyszukiwanie wymaga wyszukiwania liniowego. CAtlMap należy użyć, gdy tablica zawiera dużą liczbę elementów.
Wymagania
Nagłówek: atlsimpcoll.h
Przykład
// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;
CSimpleMap::Add
Dodaje klucz i skojarzona wartość do tablicy map.
BOOL Add(const TKey& key, const TVal& val);
Parametry
key
Klucz.
Val
Skojarzona wartość.
Wartość zwracana
Zwraca wartość TRUE, jeśli klucz i wartość zostały pomyślnie dodane, w przeciwnym razie wartość FALSE.
Uwagi
Każda dodana para kluczy i wartości powoduje, że pamięć tablicy mapowania jest zwalniana i przydzielana ponownie, w celu zapewnienia, że dane dla każdego z nich są zawsze przechowywane w sposób ciągły. Oznacza to, że drugi element klucza zawsze bezpośrednio następuje pierwszy kluczowy element w pamięci itd.
CSimpleMap::_ArrayElementType
Definicja typu klucza.
typedef TVal _ArrayElementType;
CSimpleMap::_ArrayKeyType
Definicja typu dla typu wartości.
typedef TKey _ArrayKeyType;
CSimpleMap::CSimpleMap
Konstruktor.
CSimpleMap();
Uwagi
Inicjuje składowe danych.
CSimpleMap::~CSimpleMap
Destruktora.
~CSimpleMap();
Uwagi
Zwalnia wszystkie przydzielone zasoby.
CSimpleMap::FindKey
Znajduje określony klucz.
int FindKey(const TKey& key) const;
Parametry
key
Klucz do wyszukania.
Wartość zwracana
Zwraca indeks klucza, jeśli zostanie znaleziony, w przeciwnym razie zwraca wartość -1.
CSimpleMap::FindVal
Znajduje określoną wartość.
int FindVal(const TVal& val) const;
Parametry
Val
Wartość, dla której ma być wyszukiwane.
Wartość zwracana
Zwraca indeks wartości, jeśli zostanie znaleziona, w przeciwnym razie zwraca wartość -1.
CSimpleMap::GetKeyAt
Pobiera klucz w określonym indeksie.
TKey& GetKeyAt(int nIndex) const;
Parametry
nIndex
Indeks klucza do zwrócenia.
Wartość zwracana
Zwraca klucz, do których odwołuje się nIndex.
Uwagi
Indeks przekazany przez nIndex musi być prawidłowy, aby wartość zwracana miała znaczenie.
CSimpleMap::GetSize
Zwraca liczbę wpisów w tablicy mapowania.
int GetSize() const;
Wartość zwracana
Zwraca liczbę wpisów (klucz i wartość jest jednym wpisem) w tablicy mapowania.
CSimpleMap::GetValueAt
Pobiera wartość z określonego indeksu.
TVal& GetValueAt(int nIndex) const;
Parametry
nIndex
Indeks wartości do zwrócenia.
Wartość zwracana
Zwraca wartość przywołyną przez nIndex.
Uwagi
Indeks przekazany przez nIndex musi być prawidłowy, aby wartość zwracana miała znaczenie.
CSimpleMap::Lookup
Zwraca wartość skojarzona z danym kluczem.
TVal Lookup(const TKey& key) const;
Parametry
key
Klucz.
Wartość zwracana
Zwraca skojarzona wartość. Jeśli nie zostanie znaleziony pasujący klucz, zwracana jest wartość NULL.
CSimpleMap::Remove
Usuwa klucz i zgodną wartość.
BOOL Remove(const TKey& key);
Parametry
key
Klucz.
Wartość zwracana
Zwraca wartość TRUE, jeśli klucz i pasująca wartość zostały pomyślnie usunięte, w przeciwnym razie wartość FALSE.
CSimpleMap::RemoveAll
Usuwa wszystkie klucze i wartości.
void RemoveAll();
Uwagi
Usuwa wszystkie klucze i wartości z obiektu tablicy mapowania.
CSimpleMap::RemoveAt
Usuwa klucz i skojarzona wartość w określonym indeksie.
BOOL RemoveAt(int nIndex);
Parametry
nIndex
Indeks klucza i skojarzonej wartości do usunięcia.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE, jeśli określony indeks jest nieprawidłowym indeksem.
CSimpleMap::ReverseLookup
Zwraca klucz skojarzony z daną wartością.
TKey ReverseLookup(const TVal& val) const;
Parametry
Val
Wartość.
Wartość zwracana
Zwraca skojarzony klucz. Jeśli nie zostanie znaleziony pasujący klucz, zwracana jest wartość NULL.
CSimpleMap::SetAt
Ustawia wartość skojarzona z danym kluczem.
BOOL SetAt(const TKey& key, const TVal& val);
Parametry
key
Klucz.
Val
Nowa wartość do przypisania.
Wartość zwracana
Zwraca wartość TRUE, jeśli klucz został znaleziony, a wartość została pomyślnie zmieniona, w przeciwnym razie wartość FALSE.
CSimpleMap::SetAtIndex
Ustawia klucz i wartość w określonym indeksie.
BOOL SetAtIndex(
int nIndex,
const TKey& key,
const TVal& val);
Parametry
nIndex
Indeks, odwołując się do pary klucz i wartość, aby zmienić.
key
Nowy klucz.
Val
Nowa wartość.
Wartość zwracana
Zwraca wartość TRUE, jeśli powodzenie, wartość FALSE, jeśli indeks był nieprawidłowy.
Uwagi
Aktualizuje zarówno klucz, jak i wartość wskazywaną przez nIndex.