|
| | map () |
| | 默认构造函数
|
| | map (const key_compare &comp) |
| | 构造函数,指定比较函数
|
| | map (const map &other) |
| | 拷贝构造函数
|
| map & | operator= (const map &other) |
| | 拷贝赋值运算符
|
| | map (map &&other) noexcept(is_nothrow_move_constructible_v< base_type >) |
| | 移动构造函数
|
| map & | operator= (map &&other) noexcept(is_nothrow_move_assignable_v< base_type >) |
| | 移动赋值运算符
|
| template<typename Iterator> |
| | map (Iterator first, Iterator last) |
| | 范围构造函数
|
| template<typename Iterator> |
| | map (Iterator first, Iterator last, const key_compare &comp) |
| | 范围构造函数
|
| | map (std::initializer_list< value_type > ilist) |
| | 初始化列表构造函数
|
| | map (std::initializer_list< value_type > ilist, const key_compare &comp) |
| | 初始化列表构造函数,指定比较函数
|
| map & | operator= (std::initializer_list< value_type > ilist) |
| | 初始化列表赋值运算符
|
|
| ~map ()=default |
| | 析构函数
|
| 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 reverse_iterator | rbegin () noexcept |
| | 获取反向起始迭代器
|
| NEFORCE_NODISCARD reverse_iterator | rend () noexcept |
| | 获取反向结束迭代器
|
| NEFORCE_NODISCARD const_reverse_iterator | rbegin () const noexcept |
| | 获取常量反向起始迭代器
|
| NEFORCE_NODISCARD const_reverse_iterator | rend () const noexcept |
| | 获取常量反向结束迭代器
|
| NEFORCE_NODISCARD const_reverse_iterator | crbegin () const noexcept |
| | 获取常量反向起始迭代器
|
| NEFORCE_NODISCARD const_reverse_iterator | crend () 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 key_compare | key_comp () const noexcept |
| | 获取键比较函数对象
|
| NEFORCE_NODISCARD value_compare | value_comp () const noexcept |
| | 获取值比较函数对象
|
| template<typename... Args> |
| pair< iterator, bool > | emplace (Args &&... args) |
| | 构造元素
|
| pair< iterator, bool > | insert (const value_type &value) |
| | 拷贝插入元素
|
| pair< iterator, bool > | insert (value_type &&value) |
| | 移动插入元素
|
| template<typename... Args> |
| iterator | emplace_hint (iterator position, Args &&... args) |
| | 在提示位置附近就地构造元素
|
| iterator | insert (iterator position, const value_type &value) |
| | 在提示位置附近拷贝插入元素
|
| iterator | insert (iterator position, value_type &&value) |
| | 在提示位置附近移动插入元素
|
| template<typename Iterator> |
| void | insert (Iterator first, Iterator last) |
| | 范围插入元素
|
| void | erase (iterator position) noexcept(noexcept(tree_.erase(position))) |
| | 删除指定位置的元素
|
| size_type | erase (const key_type &key) noexcept(noexcept(tree_.erase(key))) |
| | 删除所有具有指定键的元素
|
| void | erase (iterator first, iterator last) noexcept(noexcept(tree_.erase(first, last))) |
| | 删除指定范围内的元素
|
|
void | clear () noexcept(noexcept(tree_.clear())) |
| | 清空map
|
| NEFORCE_NODISCARD iterator | find (const key_type &key) |
| | 查找具有指定键的元素
|
| NEFORCE_NODISCARD const_iterator | find (const key_type &key) const |
| | 常量查找具有指定键的元素
|
| NEFORCE_NODISCARD size_type | count (const key_type &key) const |
| | 统计具有指定键的元素数量
|
| NEFORCE_NODISCARD iterator | lower_bound (const key_type &key) |
| | 获取第一个不小于指定键的元素位置
|
| NEFORCE_NODISCARD const_iterator | lower_bound (const key_type &key) const |
| | 获取第一个不小于指定键的常量元素位置
|
| NEFORCE_NODISCARD iterator | upper_bound (const key_type &key) |
| | 获取第一个大于指定键的元素位置
|
| NEFORCE_NODISCARD const_iterator | upper_bound (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 mapped_type & | operator[] (const key_type &key) |
| | 下标访问操作符
|
| NEFORCE_NODISCARD mapped_type & | operator[] (key_type &&key) |
| | 右值键下标访问操作符
|
| NEFORCE_NODISCARD const mapped_type & | at (const key_type &key) const |
| | 带边界检查的常量访问
|
| NEFORCE_NODISCARD mapped_type & | at (const key_type &key) |
| | 带边界检查的访问
|
| void | swap (map &other) noexcept(noexcept(tree_.swap(other.tree_))) |
| | 交换两个map的内容
|
| NEFORCE_NODISCARD bool | operator== (const map &rhs) const noexcept(noexcept(tree_==rhs.tree_)) |
| | 相等比较操作符
|
| NEFORCE_NODISCARD bool | operator< (const map &rhs) const noexcept(noexcept(tree_< rhs.tree_)) |
| | 小于比较操作符
|
template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
class map< Key, T, Compare, Alloc >
映射容器
- 模板参数
-
| Key | 键类型 |
| T | 值类型 |
| Compare | 键比较函数类型,默认为less<Key> |
| Alloc | 分配器类型 |
map是一种关联容器,存储键值对(key-value pairs),每个键在容器中唯一。 元素按照键的顺序自动排序,排序标准由Compare函数对象指定。 支持快速的键查找,底层使用红黑树实现。
在文件 map.hpp 第 37 行定义.