Bagikan melalui


winrt::map_base templat struct (C++/WinRT)

Kelas dasar tempat Anda dapat memperoleh untuk mengimplementasikan koleksi asosiatif kustom Anda sendiri yang tidak dapat diamati. Untuk informasi selengkapnya, dan contoh kode, lihat Koleksi dengan C++/WinRT.

Sintaks

template <typename D, typename K, typename V>
struct map_base : map_view_base<D, K, V, winrt::impl::collection_version>

Parameter templat

typename D Nama jenis turunan Anda.

typename K Jenis kunci dalam koleksi.

typename V Jenis nilai dalam koleksi.

Persyaratan

SDK minimum yang didukung: Windows SDK versi 10.0.17763.0 (Windows 10, versi 1809)

Namespace: winrt

Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (disertakan secara default)

Fungsi anggota

Fungsi Deskripsi
map_base::Clear function Menghapus semua elemen dari objek map_base .
map_base::Fungsi pertama Mengambil IIterator yang mewakili elemen pertama dalam objek map_base .
map_base::Fungsi GetView Mengambil tampilan objek map_base yang tidak dapat diubah.
fungsi map_base::HasKey Menentukan apakah kunci yang ditentukan milik elemen dalam objek map_base .
map_base::Sisipkan fungsi Menyisipkan atau memperbarui elemen dalam objek map_base .
map_base::Fungsi pencarian Mencari elemen yang diidentifikasi oleh kunci yang ditentukan, dan mengambil nilai yang sesuai.
map_base::Hapus fungsi Menghapus elemen dari objek map_base .
map_base::Fungsi ukuran Mengambil jumlah elemen dalam objek map_base .

Iterator

map_base adalah rentang, dan rentang tersebut didefinisikan oleh fungsi bebas internal (yang masing-masing mengambil iterator) yang kompatibel dengan fitur bahasa standar. Karena itu, Anda dapat menghitung elemen dalam objek map_base dengan pernyataan berbasis for rentang.

Anda juga dapat mengambil IIterator dari fungsi map_base::First , dan menggunakannya untuk melakukan iterasi melalui elemen dalam objek map_base .

...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyMap :
    implements<MyMap, IMap<winrt::hstring, int>, IMapView<winrt::hstring, int>, IIterable<IKeyValuePair<winrt::hstring, int>>>,
    winrt::map_base<MyMap, winrt::hstring, int>
{
    auto& get_container() const noexcept
    {
        return m_values;
    }

    auto& get_container() noexcept
    {
        return m_values;
    }

private:
    std::map<winrt::hstring, int> m_values{
        { L"AliceBlue", 0xfff0f8ff }, { L"AntiqueWhite", 0xfffaebd7 }
    };
};
...
IMap<winrt::hstring, int> map{ winrt::make<MyMap>() };

for (auto const& el : map)
{
    std::wcout << el.Key().c_str() << L", " << std::hex << el.Value() << std::endl;
}

IIterator<IKeyValuePair<winrt::hstring, int>> it{ map.First() };
while (it.HasCurrent())
{
    std::wcout << it.Current().Key().c_str() << L", " << std::hex << it.Current().Value() << std::endl;
    it.MoveNext();
}

map_base::Clear function

Menghapus semua elemen dari objek map_base .

Sintaks

void Clear() noexcept;

map_base::Fungsi pertama

Mengambil IIterator yang mewakili elemen pertama dalam objek map_base .

Sintaks

auto First();

Mengembalikan nilai

IIterator yang mewakili elemen pertama dalam objek map_base.

map_base::Fungsi GetView

Mengambil tampilan objek map_base yang tidak dapat diubah.

Sintaks

winrt::Windows::Foundation::Collections::IMapView<K, V> GetView() const;

Mengembalikan nilai

IMapView yang berisi tampilan map_base yang tidak dapat diubah.

fungsi map_base::HasKey

Menentukan apakah kunci yang ditentukan milik elemen dalam objek map_base .

Sintaks

bool HasKey(K const& key) const noexcept;

Parameter

key Kunci yang harus dicari.

Mengembalikan nilai

true jika elemen yang berisi kunci ditemukan, jika tidak false.

map_base::Sisipkan fungsi

Menyisipkan atau memperbarui elemen dalam objek map_base .

Sintaks

bool Insert(K const& key, V const& value);

Parameter

key Kunci yang terkait dengan elemen untuk disisipkan atau diperbarui.

value Nilai yang akan disisipkan atau diganti.

Mengembalikan nilai

true jika elemen dengan kunci yang ditentukan ditemukan dan diperbarui; jika tidak false.

map_base::Fungsi pencarian

Mencari elemen yang diidentifikasi oleh kunci yang ditentukan, dan mengambil nilai yang sesuai.

Sintaks

V Lookup(K const& key) const;

Parameter

key Kunci untuk mencari.

Mengembalikan nilai

Nilai yang sesuai dengan kunci yang sedang dicari jika ditemukan, jika tidak, pengecualian winrt::hresult_out_of_bounds dilemparkan.

map_base::Hapus fungsi

Menghapus elemen dari objek map_base .

Sintaks

void Remove(K const& key);

Parameter

key Kunci yang terkait dengan elemen yang akan dihapus.

map_base::Fungsi ukuran

Mengambil jumlah elemen dalam objek map_base .

Sintaks

uint32_t Size() const noexcept;

Mengembalikan nilai

Nilai yang menunjukkan jumlah elemen dalam objek map_base .

Lihat juga