modello struct WinRT:: observable_map_base (C++/WinRT))winrt::observable_map_base struct template (C++/WinRT))

Classe di base da cui è possibile derivare per implementare una raccolta associativa osservabile personalizzata.A base class from which you can derive to implement your own custom observable associative collection. Per altre informazioni ed esempi di codice, vedere raccolte con C++/WinRT.For more info, and code examples, see Collections with C++/WinRT.

SintassiSyntax

template <typename D, typename K, typename V>
struct observable_map_base : map_base<D, K, V>

Parametri modelloTemplate parameters

typename D il nome del tipo derivato.typename D Your derived type name.

typename K il tipo delle chiavi nella raccolta.typename K The type of the keys in the collection.

typename V il tipo dei valori della raccolta.typename V The type of the values in the collection.

RequisitiRequirements

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

Spazio dei nomi: WinRTNamespace: winrt

L' intestazione % WindowsSdkDir% include<WindowsTargetPlatformVersion > \cppwinrt\winrt\base.h (incluso per impostazione predefinita)Header %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)

Funzioni membroMember functions

FunzioneFunction DescrizioneDescription
funzione observable_map_base:: Clearobservable_map_base::Clear function Rimuove tutti gli elementi dall'oggetto observable_map_base .Removes all elements from the observable_map_base object.
funzione observable_map_base:: Firstobservable_map_base::First function Recupera un IIterator che rappresenta il primo elemento nell'oggetto observable_map_base .Retrieves an IIterator representing the first element in the observable_map_base object.
funzione observable_map_base:: GetViewobservable_map_base::GetView function Recupera una visualizzazione non modificabile dell'oggetto observable_map_base .Retrieves an immutable view of the observable_map_base object.
funzione observable_map_base:: HasKeyobservable_map_base::HasKey function Determina se la chiave specificata appartiene a un elemento nell'oggetto observable_map_base .Determines whether the specified key belongs to an element in the observable_map_base object.
funzione observable_map_base:: Insertobservable_map_base::Insert function Inserisce o aggiorna un elemento nell'oggetto observable_map_base .Inserts or updates an element in the observable_map_base object.
funzione observable_map_base:: Lookupobservable_map_base::Lookup function Cerca l'elemento identificato dalla chiave specificata e recupera il valore corrispondente.Looks up the element identified by the specified key, and retrieves the corresponding value.
funzione observable_map_base:: MapChangedobservable_map_base::MapChanged function Registra e revoca un delegato che gestisce l'evento di modifica della mappa dell'oggetto observable_map_base .Registers and revokes a delegate that handles the map-changed event of the observable_map_base object.
funzione observable_map_base:: Removeobservable_map_base::Remove function Rimuove un elemento dall'oggetto observable_map_base .Removes an element from the observable_map_base object.
funzione observable_map_base:: sizeobservable_map_base::Size function Recupera il numero di elementi nell'oggetto observable_map_base .Retrieves the number of elements in the observable_map_base object.

IteratoriIterators

Un observable_map_base è un intervallo e tale intervallo è definito dalle funzioni gratuite interne (ognuna delle quali recupera un iteratore) compatibili con le funzionalità del linguaggio standard.A observable_map_base is a range, and that range is defined by internal free functions (each of which retrieves an iterator) that are compatible with standard language features. Per questo motivo, è possibile enumerare gli elementi in un oggetto observable_map_base con un'istruzione for basata sull'intervallo.Because of this, you can enumerate the elements in a observable_map_base object with a range-based for statement.

È anche possibile recuperare un IIterator dalla funzione Observable_map_base:: First e usarlo per scorrere gli elementi di un oggetto observable_map_base .You can also retrieve an IIterator from the observable_map_base::First function, and use that to iterate through the elements in a observable_map_base object.

...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyObservableMap :
    implements<MyObservableMap, IObservableMap<winrt::hstring, int>, IMap<winrt::hstring, int>, IMapView<winrt::hstring, int>, IIterable<IKeyValuePair<winrt::hstring, int>>>,
    winrt::observable_map_base<MyObservableMap, 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 }
    };
};
...
IObservableMap<winrt::hstring, int> map{ winrt::make<MyObservableMap>() };

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 observable_map_base:: Clearobservable_map_base::Clear function

Rimuove tutti gli elementi dall'oggetto observable_map_base .Removes all elements from the observable_map_base object.

SintassiSyntax

void Clear() noexcept;

funzione observable_map_base:: Firstobservable_map_base::First function

Recupera un IIterator che rappresenta il primo elemento nell'oggetto observable_map_base .Retrieves an IIterator representing the first element in the observable_map_base object.

SintassiSyntax

auto First();

Valore restituitoReturn value

IIterator che rappresenta il primo elemento nell'oggetto observable_map_base .An IIterator representing the first element in the observable_map_base object.

funzione observable_map_base:: GetViewobservable_map_base::GetView function

Recupera una visualizzazione non modificabile dell'oggetto observable_map_base .Retrieves an immutable view of the observable_map_base object.

SintassiSyntax

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

Valore restituitoReturn value

IMapView contenente una visualizzazione non modificabile del observable_map_base.An IMapView containing an immutable view of the observable_map_base.

funzione observable_map_base:: HasKeyobservable_map_base::HasKey function

Determina se la chiave specificata appartiene a un elemento nell'oggetto observable_map_base .Determines whether the specified key belongs to an element in the observable_map_base object.

SintassiSyntax

bool HasKey(K const& key) const noexcept;

ParametriParameters

key la chiave da cercare.key The key to look for.

Valore restituitoReturn value

true se viene trovato un elemento contenente la chiave; in caso contrario, false.true if an element containing the key is found, otherwise false.

funzione observable_map_base:: Insertobservable_map_base::Insert function

Inserisce o aggiorna un elemento nell'oggetto observable_map_base .Inserts or updates an element in the observable_map_base object.

SintassiSyntax

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

ParametriParameters

key la chiave associata all'elemento da inserire o aggiornare.key The key associated with the element to insert or update.

value il valore da inserire o sostituire.value The value to insert or replace.

Valore restituitoReturn value

true se è stato trovato e aggiornato un elemento con la chiave specificata. in caso contrario false.true if an element with the specified key was found and updated; otherwise false.

funzione observable_map_base:: Lookupobservable_map_base::Lookup function

Cerca l'elemento identificato dalla chiave specificata e recupera il valore corrispondente.Looks up the element identified by the specified key, and retrieves the corresponding value.

SintassiSyntax

V Lookup(K const& key) const;

ParametriParameters

key la chiave da cercare.key The key to look up.

Valore restituitoReturn value

Valore corrispondente alla chiave ricercata, se trovata; in caso contrario, viene generata un'eccezione WinRT:: hresult_out_of_bounds .The value corresponding to the key being looked up if found, otherwise a winrt::hresult_out_of_bounds exception is thrown.

funzione observable_vector_base:: MapChangedobservable_vector_base::MapChanged function

Registra e/o revoca un delegato che gestisce l'evento di modifica della mappa dell'oggetto observable_map_base .Registers and/or revokes a delegate that handles the map-changed event of the observable_map_base object.

SintassiSyntax

// Register
winrt::event_token MapChanged(winrt::Windows::Foundation::Collections::MapChangedEventHandler<K, V> const& handler);

// Revoke with event_token
void MapChanged(winrt::event_token const cookie);

// Revoke with event_revoker
MapChanged_revoker MapChanged(winrt::auto_revoke_t, winrt::Windows::Foundation::Collections::MapChangedEventHandler<K, V> const& handler) const

Valore restituitoReturn value

void, WinRT:: event_token con cui è possibile revocare un delegato registrato o un MapChanged_revoker (un alias di tipo per WinRT:: event_revoker<IObservableMap<K, V>> ) con cui è possibile revocare un delegato registrato.Either void, a winrt::event_token with which you can revoke a registered delegate, or a MapChanged_revoker (a type alias for a winrt::event_revoker<IObservableMap<K, V>>) with which you can revoke a registered delegate.

EsempioExample

winrt::event_revoker<IObservableMap<winrt::hstring, int>> m_event_revoker;
...
m_event_revoker = map.MapChanged(winrt::auto_revoke, [this](IObservableMap<winrt::hstring, int> const&, IMapChangedEventArgs<winrt::hstring> const&)
{
    ...
});

funzione observable_map_base:: Removeobservable_map_base::Remove function

Rimuove un elemento dall'oggetto observable_map_base .Removes an element from the observable_map_base object.

SintassiSyntax

void Remove(K const& key);

ParametriParameters

key la chiave associata all'elemento da rimuovere.key The key associated with the element to remove.

funzione observable_map_base:: sizeobservable_map_base::Size function

Recupera il numero di elementi nell'oggetto observable_map_base .Retrieves the number of elements in the observable_map_base object.

SintassiSyntax

uint32_t Size() const noexcept;

Valore restituitoReturn value

Valore che rappresenta il numero di elementi nell'oggetto observable_map_base .A value representing the number of elements in the observable_map_base object.

Vedere ancheSee also