Udostępnij za pośrednictwem


Klasa CSimpleMap

Ta klasa zapewnia obsługę prostej tablicy mapowania.

Składnia

template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap

Parametry

Tkey
Typ kluczowego elementu.

TVal
Typ elementu wartości.

TEqual
Obiekt cech definiujący test równości dla elementów typu T.

Członkowie

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

Aktualizacje zarówno klucz, jak i wartość wskazywaną przez nIndex.

Zobacz też

Omówienie klasy