NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
map< Key, T, Compare, Alloc > 模板类 参考

映射容器 更多...

#include <map.hpp>

struct  value_compare
 值比较函数对象 更多...

Public 类型

using key_type = Key
 键类型
using data_type = T
 数据类型
using mapped_type = T
 映射值类型
using value_type = pair<const Key, T>
 值类型
using key_compare = Compare
 键比较函数类型
using size_type = typename base_type::size_type
 大小类型
using difference_type = typename base_type::difference_type
 差值类型
using pointer = typename base_type::pointer
 指针类型
using const_pointer = typename base_type::const_pointer
 常量指针类型
using reference = typename base_type::reference
 引用类型
using const_reference = typename base_type::const_reference
 常量引用类型
using iterator = typename base_type::iterator
 迭代器类型
using const_iterator = typename base_type::const_iterator
 常量迭代器类型
using reverse_iterator = typename base_type::reverse_iterator
 反向迭代器类型
using const_reverse_iterator = typename base_type::const_reverse_iterator
 常量反向迭代器类型
using allocator_type = typename base_type::allocator_type
 分配器类型

Public 成员函数

 map ()
 默认构造函数
 map (const key_compare &comp)
 构造函数,指定比较函数
 map (const map &other)
 拷贝构造函数
mapoperator= (const map &other)
 拷贝赋值运算符
 map (map &&other) noexcept(is_nothrow_move_constructible_v< base_type >)
 移动构造函数
mapoperator= (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)
 初始化列表构造函数,指定比较函数
mapoperator= (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, iteratorequal_range (const key_type &key)
 获取等于指定键的元素范围
NEFORCE_NODISCARD pair< const_iterator, const_iteratorequal_range (const key_type &key) const
 获取等于指定键的常量元素范围
NEFORCE_NODISCARD mapped_typeoperator[] (const key_type &key)
 下标访问操作符
NEFORCE_NODISCARD mapped_typeoperator[] (key_type &&key)
 右值键下标访问操作符
NEFORCE_NODISCARD const mapped_typeat (const key_type &key) const
 带边界检查的常量访问
NEFORCE_NODISCARD mapped_typeat (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.hpp37 行定义.

构造及析构函数说明

◆ map() [1/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map< Key, T, Compare, Alloc >::map ( )
inline

默认构造函数

构造一个空map,使用默认的比较函数。

在文件 map.hpp98 行定义.

被这些函数引用 map(), map(), map(), map(), operator<(), operator=(), operator=(), operator=(), operator==() , 以及 swap().

◆ map() [2/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map< Key, T, Compare, Alloc >::map ( const key_compare & comp)
inlineexplicit

构造函数,指定比较函数

参数
comp比较函数对象

在文件 map.hpp105 行定义.

◆ map() [3/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map< Key, T, Compare, Alloc >::map ( const map< Key, T, Compare, Alloc > & other)
inline

拷贝构造函数

参数
other源map

在文件 map.hpp112 行定义.

引用了 map().

◆ map() [4/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map< Key, T, Compare, Alloc >::map ( map< Key, T, Compare, Alloc > && other)
inlinenoexcept

移动构造函数

参数
other源map

在文件 map.hpp132 行定义.

引用了 is_nothrow_move_constructible_v, map() , 以及 move().

◆ map() [5/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
template<typename Iterator>
map< Key, T, Compare, Alloc >::map ( Iterator first,
Iterator last )
inline

范围构造函数

模板参数
Iterator迭代器类型
参数
first起始迭代器
last结束迭代器

在文件 map.hpp155 行定义.

◆ map() [6/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
template<typename Iterator>
map< Key, T, Compare, Alloc >::map ( Iterator first,
Iterator last,
const key_compare & comp )
inline

范围构造函数

模板参数
Iterator迭代器类型
参数
first起始迭代器
last结束迭代器

在文件 map.hpp167 行定义.

◆ map() [7/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map< Key, T, Compare, Alloc >::map ( std::initializer_list< value_type > ilist)
inline

初始化列表构造函数

参数
ilist初始化列表

在文件 map.hpp176 行定义.

引用了 begin(), end() , 以及 map().

◆ map() [8/8]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map< Key, T, Compare, Alloc >::map ( std::initializer_list< value_type > ilist,
const key_compare & comp )
inline

初始化列表构造函数,指定比较函数

参数
ilist初始化列表
comp比较函数对象

在文件 map.hpp184 行定义.

引用了 begin(), end() , 以及 map().

成员函数说明

◆ at() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD mapped_type & map< Key, T, Compare, Alloc >::at ( const key_type & key)
inline

带边界检查的访问

参数
key要访问的键
返回
对应键的值的引用
异常
value_exception如果键不存在

在文件 map.hpp511 行定义.

引用了 end() , 以及 key_comp().

◆ at() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const mapped_type & map< Key, T, Compare, Alloc >::at ( const key_type & key) const
inline

带边界检查的常量访问

参数
key要访问的键
返回
对应键的值的常量引用
异常
value_exception如果键不存在

在文件 map.hpp497 行定义.

引用了 end() , 以及 key_comp().

◆ begin() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_iterator map< Key, T, Compare, Alloc >::begin ( ) const
inlinenoexcept

获取常量起始迭代器

返回
指向第一个元素的常量迭代器

在文件 map.hpp219 行定义.

◆ begin() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD iterator map< Key, T, Compare, Alloc >::begin ( )
inlinenoexcept

获取起始迭代器

返回
指向第一个元素的迭代器

在文件 map.hpp207 行定义.

被这些函数引用 map() , 以及 map().

◆ cbegin()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_iterator map< Key, T, Compare, Alloc >::cbegin ( ) const
inlinenoexcept

获取常量起始迭代器

返回
指向第一个元素的常量迭代器

在文件 map.hpp231 行定义.

◆ cend()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_iterator map< Key, T, Compare, Alloc >::cend ( ) const
inlinenoexcept

获取常量结束迭代器

返回
指向最后一个元素之后位置的常量迭代器

在文件 map.hpp237 行定义.

◆ count()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD size_type map< Key, T, Compare, Alloc >::count ( const key_type & key) const
inline

统计具有指定键的元素数量

参数
key要统计的键
返回
匹配的元素数量

在文件 map.hpp415 行定义.

◆ crbegin()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_reverse_iterator map< Key, T, Compare, Alloc >::crbegin ( ) const
inlinenoexcept

获取常量反向起始迭代器

返回
指向最后一个元素的常量反向迭代器

在文件 map.hpp267 行定义.

◆ crend()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_reverse_iterator map< Key, T, Compare, Alloc >::crend ( ) const
inlinenoexcept

获取常量反向结束迭代器

返回
指向第一个元素之前位置的常量反向迭代器

在文件 map.hpp273 行定义.

◆ emplace()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
template<typename... Args>
pair< iterator, bool > map< Key, T, Compare, Alloc >::emplace ( Args &&... args)
inline

构造元素

模板参数
Args构造参数类型
参数
args构造参数
返回
插入结果(迭代器和是否成功)

在文件 map.hpp312 行定义.

引用了 forward().

◆ emplace_hint()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
template<typename... Args>
iterator map< Key, T, Compare, Alloc >::emplace_hint ( iterator position,
Args &&... args )
inline

在提示位置附近就地构造元素

模板参数
Args构造参数类型
参数
position插入位置提示
args构造参数
返回
指向插入元素的迭代器

在文件 map.hpp338 行定义.

引用了 forward().

◆ empty()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD bool map< Key, T, Compare, Alloc >::empty ( ) const
inlinenoexcept

获取元素数量

返回
map中的元素数量

在文件 map.hpp291 行定义.

◆ end() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_iterator map< Key, T, Compare, Alloc >::end ( ) const
inlinenoexcept

获取常量结束迭代器

返回
指向最后一个元素之后位置的常量迭代器

在文件 map.hpp225 行定义.

◆ end() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD iterator map< Key, T, Compare, Alloc >::end ( )
inlinenoexcept

获取结束迭代器

返回
指向最后一个元素之后位置的迭代器

在文件 map.hpp213 行定义.

被这些函数引用 at(), at(), map(), map(), operator[]() , 以及 operator[]().

◆ equal_range() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD pair< iterator, iterator > map< Key, T, Compare, Alloc >::equal_range ( const key_type & key)
inline

获取等于指定键的元素范围

参数
key键值
返回
包含lower_bound和upper_bound的pair

在文件 map.hpp450 行定义.

◆ equal_range() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD pair< const_iterator, const_iterator > map< Key, T, Compare, Alloc >::equal_range ( const key_type & key) const
inline

获取等于指定键的常量元素范围

参数
key键值
返回
包含lower_bound和upper_bound的pair

在文件 map.hpp457 行定义.

◆ erase() [1/3]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
size_type map< Key, T, Compare, Alloc >::erase ( const key_type & key)
inlinenoexcept

删除所有具有指定键的元素

参数
key要删除的键
返回
删除的元素数量

在文件 map.hpp382 行定义.

◆ erase() [2/3]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
void map< Key, T, Compare, Alloc >::erase ( iterator first,
iterator last )
inlinenoexcept

删除指定范围内的元素

参数
first起始迭代器
last结束迭代器

在文件 map.hpp389 行定义.

◆ erase() [3/3]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
void map< Key, T, Compare, Alloc >::erase ( iterator position)
inlinenoexcept

删除指定位置的元素

参数
position要删除的位置

在文件 map.hpp375 行定义.

◆ find() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD iterator map< Key, T, Compare, Alloc >::find ( const key_type & key)
inline

查找具有指定键的元素

参数
key要查找的键
返回
指向第一个匹配元素的迭代器,未找到则返回end()

在文件 map.hpp401 行定义.

◆ find() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_iterator map< Key, T, Compare, Alloc >::find ( const key_type & key) const
inline

常量查找具有指定键的元素

参数
key要查找的键
返回
指向第一个匹配元素的常量迭代器,未找到则返回cend()

在文件 map.hpp408 行定义.

◆ insert() [1/5]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
pair< iterator, bool > map< Key, T, Compare, Alloc >::insert ( const value_type & value)
inline

拷贝插入元素

参数
value要插入的值
返回
插入结果(迭代器和是否成功)

在文件 map.hpp321 行定义.

被这些函数引用 operator=().

◆ insert() [2/5]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
template<typename Iterator>
void map< Key, T, Compare, Alloc >::insert ( Iterator first,
Iterator last )
inline

范围插入元素

模板参数
Iterator迭代器类型
参数
first起始迭代器
last结束迭代器

在文件 map.hpp367 行定义.

◆ insert() [3/5]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
iterator map< Key, T, Compare, Alloc >::insert ( iterator position,
const value_type & value )
inline

在提示位置附近拷贝插入元素

参数
position插入位置提示
value要插入的值
返回
指向插入元素的迭代器

在文件 map.hpp348 行定义.

◆ insert() [4/5]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
iterator map< Key, T, Compare, Alloc >::insert ( iterator position,
value_type && value )
inline

在提示位置附近移动插入元素

参数
position插入位置提示
value要插入的值
返回
指向插入元素的迭代器

在文件 map.hpp356 行定义.

引用了 move().

◆ insert() [5/5]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
pair< iterator, bool > map< Key, T, Compare, Alloc >::insert ( value_type && value)
inline

移动插入元素

参数
value要插入的值
返回
插入结果(迭代器和是否成功)

在文件 map.hpp328 行定义.

引用了 move().

◆ key_comp()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD key_compare map< Key, T, Compare, Alloc >::key_comp ( ) const
inlinenoexcept

获取键比较函数对象

返回
键比较函数对象的副本

在文件 map.hpp297 行定义.

被这些函数引用 at(), at(), operator[]() , 以及 operator[]().

◆ lower_bound() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD iterator map< Key, T, Compare, Alloc >::lower_bound ( const key_type & key)
inline

获取第一个不小于指定键的元素位置

参数
key键值
返回
指向第一个不小于key的元素的迭代器

在文件 map.hpp422 行定义.

◆ lower_bound() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_iterator map< Key, T, Compare, Alloc >::lower_bound ( const key_type & key) const
inline

获取第一个不小于指定键的常量元素位置

参数
key键值
返回
指向第一个不小于key的元素的常量迭代器

在文件 map.hpp429 行定义.

◆ max_size()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD size_type map< Key, T, Compare, Alloc >::max_size ( ) const
inlinenoexcept

获取元素数量

返回
map中的元素数量

在文件 map.hpp285 行定义.

◆ operator<()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD bool map< Key, T, Compare, Alloc >::operator< ( const map< Key, T, Compare, Alloc > & rhs) const
inlinenoexcept

小于比较操作符

参数
rhs右侧map
返回
按字典序比较结果

在文件 map.hpp539 行定义.

引用了 map().

◆ operator=() [1/3]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map & map< Key, T, Compare, Alloc >::operator= ( const map< Key, T, Compare, Alloc > & other)
inline

拷贝赋值运算符

参数
other源map
返回
自身引用

在文件 map.hpp120 行定义.

引用了 addressof() , 以及 map().

◆ operator=() [2/3]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map & map< Key, T, Compare, Alloc >::operator= ( map< Key, T, Compare, Alloc > && other)
inlinenoexcept

移动赋值运算符

参数
other源map
返回
自身引用

在文件 map.hpp140 行定义.

引用了 addressof(), is_nothrow_move_assignable_v, map() , 以及 move().

◆ operator=() [3/3]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
map & map< Key, T, Compare, Alloc >::operator= ( std::initializer_list< value_type > ilist)
inline

初始化列表赋值运算符

参数
ilist初始化列表
返回
自身引用

在文件 map.hpp192 行定义.

引用了 clear(), insert() , 以及 map().

◆ operator==()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD bool map< Key, T, Compare, Alloc >::operator== ( const map< Key, T, Compare, Alloc > & rhs) const
inlinenoexcept

相等比较操作符

参数
rhs右侧map
返回
如果两个map大小相等且对应元素相等返回true

在文件 map.hpp530 行定义.

引用了 map().

◆ operator[]() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD mapped_type & map< Key, T, Compare, Alloc >::operator[] ( const key_type & key)
inline

下标访问操作符

参数
key要访问的键
返回
对应键的值的引用

如果键不存在,则插入一个默认构造的值并返回其引用。

在文件 map.hpp468 行定义.

引用了 end(), initialize() , 以及 key_comp().

◆ operator[]() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD mapped_type & map< Key, T, Compare, Alloc >::operator[] ( key_type && key)
inline

右值键下标访问操作符

参数
key要访问的键
返回
对应键的值的引用

如果键不存在,则插入一个默认构造的值并返回其引用。

在文件 map.hpp483 行定义.

引用了 end(), initialize(), key_comp() , 以及 move().

◆ rbegin() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_reverse_iterator map< Key, T, Compare, Alloc >::rbegin ( ) const
inlinenoexcept

获取常量反向起始迭代器

返回
指向最后一个元素的常量反向迭代器

在文件 map.hpp255 行定义.

◆ rbegin() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD reverse_iterator map< Key, T, Compare, Alloc >::rbegin ( )
inlinenoexcept

获取反向起始迭代器

返回
指向最后一个元素的反向迭代器

在文件 map.hpp243 行定义.

◆ rend() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_reverse_iterator map< Key, T, Compare, Alloc >::rend ( ) const
inlinenoexcept

获取常量反向结束迭代器

返回
指向第一个元素之前位置的常量反向迭代器

在文件 map.hpp261 行定义.

◆ rend() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD reverse_iterator map< Key, T, Compare, Alloc >::rend ( )
inlinenoexcept

获取反向结束迭代器

返回
指向第一个元素之前位置的反向迭代器

在文件 map.hpp249 行定义.

◆ size()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD size_type map< Key, T, Compare, Alloc >::size ( ) const
inlinenoexcept

获取元素数量

返回
map中的元素数量

在文件 map.hpp279 行定义.

◆ swap()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
void map< Key, T, Compare, Alloc >::swap ( map< Key, T, Compare, Alloc > & other)
inlinenoexcept

交换两个map的内容

参数
other要交换的另一个map

在文件 map.hpp523 行定义.

引用了 map().

◆ upper_bound() [1/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD iterator map< Key, T, Compare, Alloc >::upper_bound ( const key_type & key)
inline

获取第一个大于指定键的元素位置

参数
key键值
返回
指向第一个大于key的元素的迭代器

在文件 map.hpp436 行定义.

◆ upper_bound() [2/2]

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD const_iterator map< Key, T, Compare, Alloc >::upper_bound ( const key_type & key) const
inline

获取第一个大于指定键的常量元素位置

参数
key键值
返回
指向第一个大于key的元素的常量迭代器

在文件 map.hpp443 行定义.

◆ value_comp()

template<typename Key, typename T, typename Compare = less<Key>, typename Alloc = allocator<rb_tree_node<pair<const Key, T>>>>
NEFORCE_NODISCARD value_compare map< Key, T, Compare, Alloc >::value_comp ( ) const
inlinenoexcept

获取值比较函数对象

返回
值比较函数对象的副本

在文件 map.hpp303 行定义.


该类的文档由以下文件生成: