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 .