Compartir a través de


Plantilla de estructura winrt::map_base (C++/WinRT)

Clase base de la que puede derivar para implementar su propia colección asociativa no observable personalizada. Para obtener más información y ejemplos de código, consulta Colecciones con C++/WinRT.

Sintaxis

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

Parámetros de plantilla

typename D Nombre del tipo derivado.

typename K Tipo de las claves de la colección.

typename V Tipo de los valores de la colección.

Requisitos

SDK mínimo admitido: Windows SDK versión 10.0.17763.0 (Windows 10, versión 1809)

Espacio de nombres: winrt

Encabezado: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluido de forma predeterminada)

Funciones miembro

Función Descripción
función map_base::Clear Quita todos los elementos del objeto map_base .
función map_base::First Recupera un IIterator que representa el primer elemento del objeto map_base .
función map_base::GetView Recupera una vista inmutable del objeto map_base .
función map_base::HasKey Determina si la clave especificada pertenece a un elemento del objeto map_base .
map_base::Insert (función) Inserta o actualiza un elemento en el objeto map_base .
map_base::Lookup (Función) Busca el elemento identificado por la clave especificada y recupera el valor correspondiente.
map_base::Remove (Función) Quita un elemento del objeto map_base .
función map_base::Size Recupera el número de elementos del objeto map_base .

Iterators

Un map_base es un intervalo y ese intervalo se define mediante funciones libres internas (cada una de las cuales recupera un iterador) que son compatibles con las características de lenguaje estándar. Por este motivo, puede enumerar los elementos de un objeto map_base con una instrucción basada en for intervalos.

También puede recuperar un IIterator de la función map_base::First y usarlo para recorrer en iteración los elementos de un objeto 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();
}

función map_base::Clear

Quita todos los elementos del objeto map_base .

Sintaxis

void Clear() noexcept;

función map_base::First

Recupera un IIterator que representa el primer elemento del objeto map_base .

Sintaxis

auto First();

Valor devuelto

IIterator que representa el primer elemento del objeto map_base.

función map_base::GetView

Recupera una vista inmutable del objeto map_base .

Sintaxis

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

Valor devuelto

IMapView que contiene una vista inmutable del map_base.

función map_base::HasKey

Determina si la clave especificada pertenece a un elemento del objeto map_base .

Sintaxis

bool HasKey(K const& key) const noexcept;

Parámetros

key Clave que se va a buscar.

Valor devuelto

true es si se encuentra un elemento que contiene la clave; de lo contrario false, es .

map_base::Insert (función)

Inserta o actualiza un elemento en el objeto map_base .

Sintaxis

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

Parámetros

key Clave asociada al elemento que se va a insertar o actualizar.

value Valor que se va a insertar o reemplazar.

Valor devuelto

true si se encontró y actualizó un elemento con la clave especificada; de lo contrario false, .

map_base::Lookup (Función)

Busca el elemento identificado por la clave especificada y recupera el valor correspondiente.

Sintaxis

V Lookup(K const& key) const;

Parámetros

key Clave que se va a buscar.

Valor devuelto

Valor correspondiente a la clave que se busca si se encuentra; de lo contrario, se produce una excepción winrt::hresult_out_of_bounds .

map_base::Remove (Función)

Quita un elemento del objeto map_base .

Sintaxis

void Remove(K const& key);

Parámetros

key Clave asociada al elemento que se va a quitar.

función map_base::Size

Recupera el número de elementos del objeto map_base .

Sintaxis

uint32_t Size() const noexcept;

Valor devuelto

Valor que representa el número de elementos del objeto map_base .

Consulte también