Condividi tramite


Modello di struct winrt::map_base (C++/WinRT)

Classe di base da cui è possibile derivare per implementare una raccolta associativa personalizzata non osservabile. Per altre info ed esempi di codice, vedi Raccolte con C++/WinRT.

Sintassi

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

Parametri di modelli

typename D Nome del tipo derivato.

typename K Tipo delle chiavi nell'insieme.

typename V Tipo dei valori nell'insieme.

Requisiti

SDK minimo supportato: Windows SDK versione 10.0.17763.0 (Windows 10, versione 1809)

Spazio dei nomi: winrt

Intestazione: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluso per impostazione predefinita)

Funzioni membro

Funzione Descrizione
funzione map_base::Clear Rimuove tutti gli elementi dall'oggetto map_base .
funzione map_base::First Recupera un IIterator che rappresenta il primo elemento dell'oggetto map_base .
funzione map_base::GetView Recupera una visualizzazione non modificabile dell'oggetto map_base .
funzione map_base::HasKey Determina se la chiave specificata appartiene a un elemento nell'oggetto map_base .
funzione map_base::Insert Inserisce o aggiorna un elemento nell'oggetto map_base .
funzione map_base::Lookup Cerca l'elemento identificato dalla chiave specificata e recupera il valore corrispondente.
funzione map_base::Remove Rimuove un elemento dall'oggetto map_base .
funzione map_base::Size Recupera il numero di elementi nell'oggetto map_base .

Iterators

Un map_base è un intervallo e tale intervallo viene definito da funzioni libere interne (ognuna delle quali recupera un iteratore) compatibili con le funzionalità del linguaggio standard. Per questo motivo, è possibile enumerare gli elementi in un oggetto map_base con un'istruzione basata su for intervalli.

È anche possibile recuperare un IIterator dalla funzione map_base::First e usarlo per scorrere gli elementi in un oggetto 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();
}

funzione map_base::Clear

Rimuove tutti gli elementi dall'oggetto map_base .

Sintassi

void Clear() noexcept;

funzione map_base::First

Recupera un IIterator che rappresenta il primo elemento dell'oggetto map_base .

Sintassi

auto First();

Valore restituito

IIterator che rappresenta il primo elemento dell'oggetto map_base.

funzione map_base::GetView

Recupera una visualizzazione non modificabile dell'oggetto map_base .

Sintassi

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

Valore restituito

Oggetto IMapView contenente una visualizzazione non modificabile del map_base.

funzione map_base::HasKey

Determina se la chiave specificata appartiene a un elemento nell'oggetto map_base .

Sintassi

bool HasKey(K const& key) const noexcept;

Parametri

key Chiave da cercare.

Valore restituito

true se viene trovato un elemento contenente la chiave; in caso contrario false, .

funzione map_base::Insert

Inserisce o aggiorna un elemento nell'oggetto map_base .

Sintassi

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

Parametri

key Chiave associata all'elemento da inserire o aggiornare.

value Valore da inserire o sostituire.

Valore restituito

true se è stato trovato e aggiornato un elemento con la chiave specificata; in caso contrario false, .

funzione map_base::Lookup

Cerca l'elemento identificato dalla chiave specificata e recupera il valore corrispondente.

Sintassi

V Lookup(K const& key) const;

Parametri

key Chiave da cercare.

Valore restituito

Se presente, il valore corrispondente alla chiave cercata; in caso contrario, viene generata un'eccezione winrt::hresult_out_of_bounds .

funzione map_base::Remove

Rimuove un elemento dall'oggetto map_base .

Sintassi

void Remove(K const& key);

Parametri

key Chiave associata all'elemento da rimuovere.

funzione map_base::Size

Recupera il numero di elementi nell'oggetto map_base .

Sintassi

uint32_t Size() const noexcept;

Valore restituito

Valore che rappresenta il numero di elementi nell'oggetto map_base .

Vedi anche