Kelas CSimpleMap
Kelas ini menyediakan dukungan untuk array pemetaan sederhana.
Sintaks
template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper<TKey, TVal>>
class CSimpleMap
Parameter
TKey
Jenis elemen kunci.
TVal
Jenis elemen nilai.
TEqual
Objek sifat, menentukan uji kesetaraan untuk elemen jenis T
.
Anggota
Typedef Publik
Nama | Deskripsi |
---|---|
CSimpleMap::_ArrayElementType | Typedef untuk jenis nilai. |
CSimpleMap::_ArrayKeyType | Typedef untuk jenis kunci. |
Konstruktor Publik
Nama | Deskripsi |
---|---|
CSimpleMap::CSimpleMap | Konstruktor. |
CSimpleMap::~CSimpleMap | Destruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CSimpleMap::Add | Menambahkan kunci dan nilai terkait ke array peta. |
CSimpleMap::FindKey | Menemukan kunci tertentu. |
CSimpleMap::FindVal | Menemukan nilai tertentu. |
CSimpleMap::GetKeyAt | Mengambil kunci yang ditentukan. |
CSimpleMap::GetSize | Mengembalikan jumlah entri dalam array pemetaan. |
CSimpleMap::GetValueAt | Mengambil nilai yang ditentukan. |
CSimpleMap::Lookup | Mengembalikan nilai yang terkait dengan kunci yang diberikan. |
CSimpleMap::Remove | Menghapus kunci dan nilai yang cocok. |
CSimpleMap::RemoveAll | Menghapus semua kunci dan nilai. |
CSimpleMap::RemoveAt | Menghapus kunci tertentu dan nilai yang cocok. |
CSimpleMap::ReverseLookup | Mengembalikan kunci yang terkait dengan nilai yang diberikan. |
CSimpleMap::SetAt | Mengatur nilai yang terkait dengan kunci yang diberikan. |
CSimpleMap::SetAtIndex | Mengatur kunci dan nilai tertentu. |
Keterangan
CSimpleMap
menyediakan dukungan untuk array pemetaan sederhana dari jenis T
tertentu, mengelola array elemen kunci yang tidak diurutkan dan nilai terkaitnya.
Parameter TEqual
menyediakan sarana untuk menentukan fungsi kesetaraan untuk dua elemen jenis T
. Dengan membuat kelas yang mirip dengan CSimpleMapEqualHelper, dimungkinkan untuk mengubah perilaku uji kesetaraan untuk array tertentu. Misalnya, saat berhadapan dengan array pointer, mungkin berguna untuk menentukan kesetaraan sebagai tergantung pada nilai referensi pointer. Implementasi default menggunakan operator==().
CSimpleArray CSimpleMap
disediakan untuk kompatibilitas dengan rilis ATL sebelumnya, dan implementasi pengumpulan yang lebih lengkap dan efisien disediakan oleh CAtlArray dan CAtlMap.
Tidak seperti koleksi peta lain di ATL dan MFC, kelas ini diimplementasikan dengan array sederhana, dan pencarian pencarian memerlukan pencarian linier. CAtlMap
harus digunakan ketika array berisi sejumlah besar elemen.
Persyaratan
Header: atlsimpcoll.h
Contoh
// Create a map with an integer key and character pointer value
CSimpleMap<int, char *> iArray;
CSimpleMap::Add
Menambahkan kunci dan nilai terkait ke array peta.
BOOL Add(const TKey& key, const TVal& val);
Parameter
kunci
Kuncinya.
Val
Nilai terkait.
Tampilkan Nilai
Mengembalikan TRUE jika kunci dan nilai berhasil ditambahkan, FALSE jika tidak.
Keterangan
Setiap pasangan kunci dan nilai yang ditambahkan menyebabkan memori array pemetaan dibebaskan dan dialokasikan, untuk memastikan data untuk masing-masing selalu disimpan secara berdekatan. Artinya, elemen kunci kedua selalu langsung mengikuti elemen kunci pertama dalam memori dan sebagainya.
CSimpleMap::_ArrayElementType
Typedef untuk jenis kunci.
typedef TVal _ArrayElementType;
CSimpleMap::_ArrayKeyType
Typedef untuk jenis nilai.
typedef TKey _ArrayKeyType;
CSimpleMap::CSimpleMap
Konstruktor.
CSimpleMap();
Keterangan
Menginisialisasi anggota data.
CSimpleMap::~CSimpleMap
Destruktor.
~CSimpleMap();
Keterangan
Membebaskan semua sumber daya yang dialokasikan.
CSimpleMap::FindKey
Menemukan kunci tertentu.
int FindKey(const TKey& key) const;
Parameter
kunci
Kunci untuk dicari.
Tampilkan Nilai
Mengembalikan indeks kunci jika ditemukan, jika tidak, mengembalikan -1.
CSimpleMap::FindVal
Menemukan nilai tertentu.
int FindVal(const TVal& val) const;
Parameter
Val
Nilai yang akan dicari.
Tampilkan Nilai
Mengembalikan indeks nilai jika ditemukan, jika tidak, mengembalikan -1.
CSimpleMap::GetKeyAt
Mengambil kunci pada indeks yang ditentukan.
TKey& GetKeyAt(int nIndex) const;
Parameter
nIndex
Indeks kunci yang akan dikembalikan.
Tampilkan Nilai
Mengembalikan kunci yang dirujuk oleh nIndex.
Keterangan
Indeks yang diteruskan oleh nIndex harus valid agar nilai yang dikembalikan bermakna.
CSimpleMap::GetSize
Mengembalikan jumlah entri dalam array pemetaan.
int GetSize() const;
Tampilkan Nilai
Mengembalikan jumlah entri (kunci dan nilai adalah satu entri) dalam array pemetaan.
CSimpleMap::GetValueAt
Mengambil nilai pada indeks tertentu.
TVal& GetValueAt(int nIndex) const;
Parameter
nIndex
Indeks nilai yang akan dikembalikan.
Tampilkan Nilai
Mengembalikan nilai yang dirujuk oleh nIndex.
Keterangan
Indeks yang diteruskan oleh nIndex harus valid agar nilai yang dikembalikan bermakna.
CSimpleMap::Lookup
Mengembalikan nilai yang terkait dengan kunci yang diberikan.
TVal Lookup(const TKey& key) const;
Parameter
kunci
Kuncinya.
Tampilkan Nilai
Mengembalikan nilai terkait. Jika tidak ada kunci yang cocok yang ditemukan, NULL dikembalikan.
CSimpleMap::Remove
Menghapus kunci dan nilai yang cocok.
BOOL Remove(const TKey& key);
Parameter
kunci
Kuncinya.
Tampilkan Nilai
Mengembalikan TRUE jika kunci, dan nilai yang cocok, berhasil dihapus, FALSE jika tidak.
CSimpleMap::RemoveAll
Menghapus semua kunci dan nilai.
void RemoveAll();
Keterangan
Menghapus semua kunci dan nilai dari objek array pemetaan.
CSimpleMap::RemoveAt
Menghapus kunci dan nilai terkait pada indeks yang ditentukan.
BOOL RemoveAt(int nIndex);
Parameter
nIndex
Indeks kunci dan nilai terkait yang akan dihapus.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE jika indeks yang ditentukan adalah indeks yang tidak valid.
CSimpleMap::ReverseLookup
Mengembalikan kunci yang terkait dengan nilai yang diberikan.
TKey ReverseLookup(const TVal& val) const;
Parameter
Val
Nilainya.
Tampilkan Nilai
Mengembalikan kunci terkait. Jika tidak ada kunci yang cocok yang ditemukan, NULL dikembalikan.
CSimpleMap::SetAt
Mengatur nilai yang terkait dengan kunci yang diberikan.
BOOL SetAt(const TKey& key, const TVal& val);
Parameter
kunci
Kuncinya.
Val
Nilai baru yang akan ditetapkan.
Tampilkan Nilai
Mengembalikan TRUE jika kunci ditemukan, dan nilai berhasil diubah, FALSE jika tidak.
CSimpleMap::SetAtIndex
Mengatur kunci dan nilai pada indeks tertentu.
BOOL SetAtIndex(
int nIndex,
const TKey& key,
const TVal& val);
Parameter
nIndex
Indeks, merujuk pada pasangan kunci dan nilai untuk berubah.
kunci
Kunci baru.
Val
Nilai baru.
Tampilkan Nilai
Mengembalikan TRUE jika berhasil, FALSE jika indeks tidak valid.
Keterangan
Memperbarui kunci dan nilai yang diacu oleh nIndex.