|
| | unordered_map ()=default |
| | 默认构造函数
|
| | unordered_map (size_type n) |
| | 构造函数,指定初始桶数
|
| | unordered_map (size_type n, const hasher &hf) |
| | 构造函数,指定初始桶数和哈希函数
|
| | unordered_map (size_type n, const hasher &hf, const key_equal &eql) |
| | 构造函数,指定初始桶数、哈希函数和键相等比较函数
|
| | unordered_map (const unordered_map &other) |
| | 拷贝构造函数
|
| unordered_map & | operator= (const unordered_map &other) |
| | 拷贝赋值运算符
|
| | unordered_map (unordered_map &&other) noexcept(is_nothrow_move_constructible_v< base_type >) |
| | 移动构造函数
|
| unordered_map & | operator= (unordered_map &&other) noexcept(is_nothrow_move_assignable_v< base_type >) |
| | 移动赋值运算符
|
| template<typename Iterator> |
| | unordered_map (Iterator first, Iterator last) |
| | 范围构造函数
|
| template<typename Iterator> |
| | unordered_map (Iterator first, Iterator list, size_type n) |
| | 范围构造函数,指定初始桶数
|
| template<typename Iterator> |
| | unordered_map (Iterator first, Iterator last, size_type n, const hasher &hf) |
| | 范围构造函数,指定初始桶数和哈希函数
|
| template<typename Iterator> |
| | unordered_map (Iterator first, Iterator last, size_type n, const hasher &hf, const key_equal &eql) |
| | 范围构造函数,指定初始桶数、哈希函数和键相等比较函数
|
| | unordered_map (std::initializer_list< value_type > ilist) |
| | 初始化列表构造函数
|
| | unordered_map (std::initializer_list< value_type > ilist, size_type n) |
| | 初始化列表构造函数,指定初始桶数
|
| | unordered_map (std::initializer_list< value_type > ilist, size_type n, const hasher &hf) |
| | 初始化列表构造函数,指定初始桶数和哈希函数
|
| | unordered_map (std::initializer_list< value_type > ilist, size_type n, const hasher &hf, const key_equal &eql) |
| | 初始化列表构造函数,指定初始桶数、哈希函数和键相等比较函数
|
| NEFORCE_NODISCARD iterator | begin () noexcept |
| | 获取起始迭代器
|
| NEFORCE_NODISCARD iterator | end () noexcept |
| | 获取结束迭代器
|
| NEFORCE_NODISCARD const_iterator | begin () const noexcept |
| | 获取常量起始迭代器
|
| NEFORCE_NODISCARD const_iterator | end () const noexcept |
| | 获取常量结束迭代器
|
| NEFORCE_NODISCARD const_iterator | cbegin () const noexcept |
| | 获取常量起始迭代器
|
| NEFORCE_NODISCARD const_iterator | cend () const noexcept |
| | 获取常量结束迭代器
|
| NEFORCE_NODISCARD size_type | size () const noexcept |
| | 获取元素数量
|
| NEFORCE_NODISCARD size_type | max_size () const noexcept |
| | 获取最大可能大小
|
| NEFORCE_NODISCARD bool | empty () const noexcept |
| | 检查是否为空
|
| NEFORCE_NODISCARD size_type | count (const key_type &key) const noexcept(noexcept(ht_.count(key))) |
| | 统计具有指定键的元素数量
|
| NEFORCE_NODISCARD size_type | buckets_size () const noexcept |
| | 获取桶数量
|
| NEFORCE_NODISCARD size_type | buckets_max_count () const noexcept |
| | 获取最大桶数量
|
| NEFORCE_NODISCARD size_type | bucket_size (size_type n) const noexcept |
| | 获取指定桶的大小
|
| NEFORCE_NODISCARD hasher | hash_func () const noexcept(noexcept(ht_.hash_func())) |
| | 获取哈希函数对象
|
| NEFORCE_NODISCARD key_equal | key_eql () const noexcept(noexcept(ht_.key_eql())) |
| | 获取键相等比较函数对象
|
| NEFORCE_NODISCARD float | load_factor () const noexcept |
| | 获取当前负载因子
|
| NEFORCE_NODISCARD float | max_load_factor () const noexcept |
| | 获取最大负载因子
|
| void | max_load_factor (float lf) noexcept |
| | 设置最大负载因子
|
| void | rehash (size_type n) |
| | 重新哈希,调整桶数量
|
| void | reserve (size_type n) |
| | 预留空间
|
| template<typename... Args> |
| pair< iterator, bool > | emplace (Args &&... args) |
| | 在unordered_map中就地构造元素
|
| pair< iterator, bool > | insert (const value_type &value) |
| | 插入元素(拷贝版本)
|
| pair< iterator, bool > | insert (value_type &&value) |
| | 移动插入元素
|
| template<typename Iterator> |
| void | insert (Iterator first, Iterator last) |
| | 范围插入元素
|
| size_type | erase (const key_type &key) noexcept |
| | 删除所有具有指定键的元素
|
| iterator | erase (iterator position) noexcept |
| | 删除指定位置的元素
|
| iterator | erase (iterator first, iterator last) noexcept |
| | 删除指定范围内的元素
|
| const_iterator | erase (const_iterator position) noexcept |
| | 删除指定位置的常量元素
|
| const_iterator | erase (const_iterator first, const_iterator last) noexcept |
| | 删除指定范围内的常量元素
|
|
void | clear () noexcept |
| | 清空unordered_map
|
| NEFORCE_NODISCARD iterator | find (const key_type &key) |
| | 查找具有指定键的元素
|
| NEFORCE_NODISCARD const_iterator | find (const key_type &key) const |
| | 查找具有指定键的常量元素
|
| NEFORCE_NODISCARD pair< iterator, iterator > | equal_range (const key_type &key) |
| | 获取等于指定键的元素范围
|
| NEFORCE_NODISCARD pair< const_iterator, const_iterator > | equal_range (const key_type &key) const |
| | 获取等于指定键的常量元素范围
|
| NEFORCE_NODISCARD T & | operator[] (const key_type &key) |
| | 下标访问操作符
|
| NEFORCE_NODISCARD const T & | at (const key_type &key) const |
| | 带边界检查的常量访问
|
| NEFORCE_NODISCARD T & | at (const key_type &key) |
| | 带边界检查的访问
|
| void | swap (unordered_map &other) noexcept(is_nothrow_swappable_v< base_type >) |
| | 交换两个unordered_map的内容
|
| NEFORCE_NODISCARD bool | operator== (const unordered_map &rhs) const noexcept(noexcept(ht_==rhs.ht_)) |
| | 相等比较操作符
|
| NEFORCE_NODISCARD bool | operator< (const unordered_map &rhs) const noexcept(noexcept(ht_< rhs.ht_)) |
| | 小于比较操作符
|
template<typename Key, typename T, typename HashFcn = hash<Key>, typename EqualKey = equal_to<Key>, typename Alloc = allocator<hashtable_node<pair<const Key, T>>>>
class unordered_map< Key, T, HashFcn, EqualKey, Alloc >
无序映射容器
- 模板参数
-
| Key | 键类型 |
| T | 值类型 |
| HashFcn | 哈希函数类型,默认为hash<Key> |
| EqualKey | 键相等比较函数类型,默认为equal_to<Key> |
| Alloc | 分配器类型 |
unordered_map是一种关联容器,存储键值对(key-value pairs),每个键在容器中唯一。 元素无序存储,由哈希函数将键映射到桶中。 支持快速的键查找。底层使用哈希表实现。
在文件 unordered_map.hpp 第 38 行定义.