Bagikan melalui


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 Ttertentu, 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.

Lihat juga

Gambaran Umum Kelas