Platform::Collections::MapView 类

将一个只读视图表示为一个 映射,这是键值对的集合。

语法

template <
   typename K,
   typename V,
   typename C = ::std::less<K>>
ref class MapView sealed;

参数

K
键值对中键的类型。

V
键值对中值的类型。

C
提供一个函数对象的类型,该对象可以将两个元素值作为排序键加以比较,以决定它们在 MapView 中的相对顺序。 在默认情况下为 std::less<K>

注解

MapView 是跨应用程序二进制接口 (ABI) 传递的 Windows::Foundation::Collections::IMapView <K,V> 接口的具体 C++ 实现。 有关更多信息,请参见 集合 (C++/CX)

成员

公共构造函数

名称 描述
MapView::MapView 初始化 MapView 类的新实例。

公共方法

名称 描述
MapView::First 返回初始化为映射视图中第一个元素的迭代器。
MapView::HasKey 确定当前 MapView 中是否包含指定键。
MapView::Lookup 检索当前 MapView 对象中指定键处的元素。
MapView::Size 返回当前 MapView 对象中的元素数目。
MapView::Split 将原始 MapView 对象拆分成两个 MapView 对象。

继承层次结构

MapView

要求

标头: collection.h

命名空间: Platform::Collections

MapView::First 方法

返回指定映射视图中第一个元素的迭代器。

语法

virtual Windows::Foundation::Collections::IIterator<
   Windows::Foundation::Collections::IKeyValuePair<K, V>^>^ First();

返回值

指定映射视图中第一个元素的迭代器。

注解

保留 First() 返回的迭代器的一种简便方式是将返回值分配给用 auto 类型推导关键字声明的变量。 例如 auto x = myMapView->First();

MapView::HasKey 方法

确定当前 MapView 中是否包含指定键。

语法

bool HasKey(K key);

参数


用于定位 MapView 元素的键。 key 的类型名称为 K。

返回值

如果找到该键,则为 true;否则为 false

MapView::Lookup 方法

检索与类型 K 的指定键关联的类型 V 的值。

语法

V Lookup(K key);

参数


用于定位 MapView 中的元素的键。 key 的类型名称为 K

返回值

key 配对的值。 返回值的类型名称为 V

MapView::MapView 构造函数

初始化 MapView 类的新实例。

语法

explicit MapView(const C& comp = C());

explicit MapView(const ::std::map<K, V, C>& m);

explicit MapView(std::map<K, V, C>&& m);

template <typename InIt> MapView(
    InIt first,
    InIt last,
    const C& comp = C());

MapView(
    ::std::initializer_list<std::pair<const K, V>> il,
    const C& comp = C());

参数

InIt
当前 MapView 的类型名称。

comp
可以将两个元素值作为排序键加以比较,以决定它们在 MapView 中的相对顺序的函数对象。

m
对用于初始化当前 MapView 的 map Class 的引用或 Lvalue 和 Rvalue

first
用于初始化当前 MapView 的一系列元素中的第一个元素的输入迭代器。

last
用于初始化当前 MapView 的一系列元素之后的第一个元素的输入迭代器。

il
其元素将插入 MapView 的 std::initializer_list<std::pair<K,V>>

MapView::Size 方法

返回当前 MapView 对象中的元素数目。

语法

virtual property unsigned int Size;

返回值

当前 MapView 中的元素数目。

MapView::Split 方法

将当前 MapView 对象分成两个 MapView 对象。 此方法为非操作性的。

语法

void Split(
   Windows::Foundation::Collections::IMapView<
                         K, V>^ * firstPartition,
   Windows::Foundation::Collections::IMapView<
                         K, V>^ * secondPartition);

参数

firstPartition
原始 MapView 对象的第一部分。

secondPartition
原始 MapView 对象的第二部分。

备注

此方法为非操作性的,它不执行任何操作。

另请参阅

Platform 命名空间