System::Collections::Generic::BaseDictionary 类

BaseDictionary class

实现了各种类似字典的数据结构(例如 DictionarySortedDictionary)的通用代码。不应直接使用,除非在定义容器时用于继承。该类的对象只能通过 System::MakeObject() 函数分配。切勿在栈上或使用 new 运算符创建此类型的实例,因为这会导致运行时错误和/或断言失败。始终将此类包装在 System::SmartPtr 指针中,并使用该指针将其作为参数传递给函数。

template<typename Map>class BaseDictionary : public System::Collections::Generic::IDictionary<Map::key_type, Map::mapped_type>
参数描述
Map底层映射类型。

方法

方法描述
_add_range(std::initializer_list<typename Map::value_type>)特定于 C++。
Add(const key_t&, const mapped_t&) override向字典中添加键值对。
BaseDictionary()创建空的数据结构。
BaseDictionary(int, const Args&…)转发构造函数,将参数传递给底层映射的构造函数。
BaseDictionary(BaseType *, const Args&…)拷贝构造函数。
BaseDictionary(BaseType *)拷贝构造函数。
begin() const返回指向容器中键值元素的 KVPair 包装器的迭代器。采用 C# 风格实现——迭代器应返回具有 get_Key() 和 get_Value() 接口的 KVPair 对象。如果容器为空,返回的迭代器将等于 end()
cbegin() const返回指向容器第一个元素的迭代器。采用 STL 风格实现。如果容器为空,返回的迭代器将等于 end()
cend() const返回指向容器最后一个元素之后的元素的迭代器。采用 STL 风格实现。该元素充当占位符;尝试访问它会导致未定义行为。
Clear() override删除所有元素。
ContainsKey(const key_t&) const override检查字典中是否存在键。
ContainsValue(const mapped_t&)检查字典中是否存在值。使用 operator == 来比较值。
data()底层数据存储访问器。
data() const底层数据存储访问器。
end() const返回指向容器最后一个元素之后的键值元素的 KVPair 包装器的迭代器。采用 C# 风格实现——迭代器应返回具有 get_Key() 和 get_Value() 接口的 KVPair 对象。该元素充当占位符;尝试访问它会导致未定义行为。
get_Count() const override获取元素计数。
virtual GetEnumerator()创建枚举器实例,应由子类实现。
GetValueOrDefault(const key_t&) const override如果找到则返回值;否则返回 Value()
GetValueOrDefault(const key_t&, const mapped_t&) const override如果找到则返回值;否则返回 defaultValue
GetValueOrNull(const key_t&) const override如果找到则返回值;否则返回 null。仅对引用类型有意义。
idx_get(const key_t&) const override带键的获取函数。
idx_set(const key_t&, mapped_t) override带键的设置函数。修改或创建元素。
virtual operator[](const key_t&)访问器函数。
Remove(const key_t&) override从字典中移除指定键。
SetTemplateWeakPtr(unsigned int) override
TryGetValue(const key_t&, mapped_t&) const override查找带键的值并在找到时检索它。
virtualizeBeginConstIterator() const override获取当前容器的 begin const 迭代器的实现。
virtualizeBeginIterator() override获取当前容器的 begin 迭代器的实现。
virtualizeEndConstIterator() const override获取当前容器的 end const 迭代器的实现。
virtualizeEndIterator() override获取当前容器的 end 迭代器的实现。

Typedefs

类型定义描述
BaseType实现的接口。
const_iterator常量迭代器类型。
iterator迭代器类型。
KeyCollection确保对底层存储类型使用正确的分配器。
KVPair键值对类型。
map_t内部映射类型。
ValueCollection值的集合。

另见