NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::sparse_set< Key, Compare, Alloc > 模板类 参考

稀疏集合容器 更多...

#include <sparse_set.hpp>

类 neforce::sparse_set< Key, Compare, Alloc > 继承关系图:
[图例]

Public 类型

using key_type = Key
 键类型
using value_type = Key
 值类型
using key_compare = Compare
 键比较函数类型
using value_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 成员函数

 sparse_set ()
 默认构造函数
 sparse_set (const key_compare &comp)
 构造函数,指定比较函数
 sparse_set (const sparse_set &other)
 拷贝构造函数
sparse_setoperator= (const sparse_set &other)
 拷贝赋值运算符
 sparse_set (sparse_set &&other) noexcept(is_nothrow_move_constructible_v< base_type >)
 移动构造函数
sparse_setoperator= (sparse_set &&other) noexcept(is_nothrow_swappable_v< base_type >)
 移动赋值运算符
template<typename Iterator>
 sparse_set (Iterator first, Iterator last)
 范围构造函数
template<typename Iterator>
 sparse_set (Iterator first, Iterator last, const key_compare &comp)
 范围构造函数,指定比较函数
 sparse_set (std::initializer_list< value_type > ilist)
 初始化列表构造函数
 sparse_set (std::initializer_list< value_type > ilist, const key_compare &comp)
 初始化列表构造函数,指定比较函数
sparse_setoperator= (std::initializer_list< value_type > ilist)
 初始化列表赋值运算符
 ~sparse_set ()=default
 析构函数
iterator begin () noexcept
 获取起始迭代器
iterator end () noexcept
 获取结束迭代器
const_iterator begin () const noexcept
 获取常量起始迭代器
const_iterator end () const noexcept
 获取常量结束迭代器
const_iterator cbegin () const noexcept
 获取常量起始迭代器
const_iterator cend () const noexcept
 获取常量结束迭代器
reverse_iterator rbegin () noexcept
 获取反向起始迭代器
reverse_iterator rend () noexcept
 获取反向结束迭代器
const_reverse_iterator rbegin () const noexcept
 获取常量反向起始迭代器
const_reverse_iterator rend () const noexcept
 获取常量反向结束迭代器
const_reverse_iterator crbegin () const noexcept
 获取常量反向起始迭代器
const_reverse_iterator crend () const noexcept
 获取常量反向结束迭代器
size_type size () const noexcept
 获取元素数量
size_type max_size () const noexcept
 获取最大可能大小
bool empty () const noexcept
 检查是否为空
key_compare key_comp () const noexcept
 获取键比较函数对象
value_compare value_comp () const noexcept
 获取值比较函数对象
template<typename... Args>
pair< iterator, bool > emplace (Args &&... args)
 在sparse_set中就地构造元素
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(data_.erase(position)))
 删除指定位置的元素
size_type erase (const key_type &key) noexcept(noexcept(data_.erase(key)))
 删除所有具有指定键的元素
void erase (iterator first, iterator last) noexcept(noexcept(data_.erase(first, last)))
 删除指定范围内的元素
void clear () noexcept(noexcept(data_.clear()))
 清空sparse_set
iterator find (const key_type &key)
 查找具有指定键的元素
const_iterator find (const key_type &key) const
 查找具有指定键的常量元素
size_type count (const key_type &key) const
 统计具有指定键的元素数量
iterator lower_bound (const key_type &key)
 获取第一个不小于指定键的元素位置
const_iterator lower_bound (const key_type &key) const
 获取第一个不小于指定键的常量元素位置
iterator upper_bound (const key_type &key)
 获取第一个大于指定键的元素位置
const_iterator upper_bound (const key_type &key) const
 获取第一个大于指定键的常量元素位置
pair< iterator, iteratorequal_range (const key_type &key)
 获取等于指定键的元素范围
pair< const_iterator, const_iteratorequal_range (const key_type &key) const
 获取等于指定键的常量元素范围
void reserve (size_type n)
 预留容量
size_type capacity () const noexcept
 获取当前容量
void shrink_to_fit ()
 收缩容量以适应实际大小
void swap (sparse_set &other) noexcept(noexcept(data_.swap(other.data_)))
 交换两个sparse_set的内容
bool equal_to (const sparse_set &rhs) const noexcept(noexcept(data_==rhs.data_))
 相等比较操作符
bool less_than (const sparse_set &rhs) const noexcept(noexcept(data_< rhs.data_))
 小于比较操作符
Public 成员函数 继承自 neforce::icollector< T >
constexpr decltype(auto) size () const noexcept(noexcept(derived().size()))
 获取集合大小
constexpr bool empty () const noexcept(noexcept(derived().empty()))
 检查集合是否为空
Public 成员函数 继承自 neforce::icomparable< T >
constexpr bool operator== (const T &rhs) const noexcept(noexcept(derived().equal_to(rhs)))
 相等比较运算符
constexpr bool operator!= (const T &rhs) const noexcept(noexcept(!(derived().equal_to(rhs))))
 不等比较运算符
constexpr bool operator< (const T &rhs) const noexcept(noexcept(derived().less_than(rhs)))
 小于比较运算符
constexpr bool operator> (const T &rhs) const noexcept(noexcept(rhs.less_than(derived())))
 大于比较运算符
constexpr bool operator<= (const T &rhs) const noexcept(noexcept(!(rhs.less_than(derived()))))
 小于等于比较运算符
constexpr bool operator>= (const T &rhs) const noexcept(noexcept(!(derived().less_than(rhs))))
 大于等于比较运算符

详细描述

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
class neforce::sparse_set< Key, Compare, Alloc >

稀疏集合容器

模板参数
Key键类型
Compare键比较函数类型,默认为less<Key>
Alloc分配器类型

sparse_set是一种关联容器,存储唯一的键值,每个键在容器中唯一。 元素按照键的顺序自动排序,排序标准由Compare函数对象指定。 底层使用有序平坦数组实现,查找O(log n),迭代缓存友好。

注解
适用于查找频繁、修改较少且需要有序遍历的场景。
警告
插入和删除操作为O(n),可能使所有迭代器失效。

在文件 sparse_set.hpp38 行定义.

构造及析构函数说明

◆ sparse_set() [1/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( )
inline

默认构造函数

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

在文件 sparse_set.hpp74 行定义.

被这些函数引用 equal_to(), less_than(), operator=(), operator=(), operator=(), sparse_set(), sparse_set(), sparse_set(), sparse_set() , 以及 swap().

◆ sparse_set() [2/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( const key_compare & comp)
inlineexplicit

构造函数,指定比较函数

参数
comp比较函数对象

在文件 sparse_set.hpp81 行定义.

◆ sparse_set() [3/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( const sparse_set< Key, Compare, Alloc > & other)
inline

拷贝构造函数

参数
other源sparse_set

在文件 sparse_set.hpp88 行定义.

引用了 sparse_set().

◆ sparse_set() [4/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( sparse_set< Key, Compare, Alloc > && other)
inlinenoexcept

移动构造函数

参数
other源sparse_set

在文件 sparse_set.hpp105 行定义.

引用了 neforce::is_nothrow_move_constructible_v, neforce::move() , 以及 sparse_set().

◆ sparse_set() [5/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
template<typename Iterator>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( Iterator first,
Iterator last )
inline

范围构造函数

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

在文件 sparse_set.hpp126 行定义.

◆ sparse_set() [6/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
template<typename Iterator>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( Iterator first,
Iterator last,
const key_compare & comp )
inline

范围构造函数,指定比较函数

模板参数
Iterator迭代器类型
参数
first起始迭代器
last结束迭代器
comp比较函数对象

在文件 sparse_set.hpp139 行定义.

◆ sparse_set() [7/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( std::initializer_list< value_type > ilist)
inline

初始化列表构造函数

参数
ilist初始化列表

在文件 sparse_set.hpp148 行定义.

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

◆ sparse_set() [8/8]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
neforce::sparse_set< Key, Compare, Alloc >::sparse_set ( std::initializer_list< value_type > ilist,
const key_compare & comp )
inline

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

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

在文件 sparse_set.hpp156 行定义.

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

成员函数说明

◆ begin() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_iterator neforce::sparse_set< Key, Compare, Alloc >::begin ( ) const
inlinenodiscardnoexcept

获取常量起始迭代器

返回
指向最小元素的常量迭代器

在文件 sparse_set.hpp191 行定义.

◆ begin() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
iterator neforce::sparse_set< Key, Compare, Alloc >::begin ( )
inlinenodiscardnoexcept

获取起始迭代器

返回
指向最小元素的迭代器

在文件 sparse_set.hpp179 行定义.

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

◆ capacity()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
size_type neforce::sparse_set< Key, Compare, Alloc >::capacity ( ) const
inlinenodiscardnoexcept

获取当前容量

返回
当前分配的容量

在文件 sparse_set.hpp443 行定义.

◆ cbegin()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_iterator neforce::sparse_set< Key, Compare, Alloc >::cbegin ( ) const
inlinenodiscardnoexcept

获取常量起始迭代器

返回
指向最小元素的常量迭代器

在文件 sparse_set.hpp203 行定义.

◆ cend()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_iterator neforce::sparse_set< Key, Compare, Alloc >::cend ( ) const
inlinenodiscardnoexcept

获取常量结束迭代器

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

在文件 sparse_set.hpp209 行定义.

◆ count()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
size_type neforce::sparse_set< Key, Compare, Alloc >::count ( const key_type & key) const
inlinenodiscard

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

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

在文件 sparse_set.hpp387 行定义.

◆ crbegin()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_reverse_iterator neforce::sparse_set< Key, Compare, Alloc >::crbegin ( ) const
inlinenodiscardnoexcept

获取常量反向起始迭代器

返回
指向最大元素的常量反向迭代器

在文件 sparse_set.hpp239 行定义.

◆ crend()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_reverse_iterator neforce::sparse_set< Key, Compare, Alloc >::crend ( ) const
inlinenodiscardnoexcept

获取常量反向结束迭代器

返回
指向最小元素之前位置的常量反向迭代器

在文件 sparse_set.hpp245 行定义.

◆ emplace()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
template<typename... Args>
pair< iterator, bool > neforce::sparse_set< Key, Compare, Alloc >::emplace ( Args &&... args)
inline

在sparse_set中就地构造元素

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

在文件 sparse_set.hpp284 行定义.

引用了 neforce::forward().

◆ emplace_hint()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
template<typename... Args>
iterator neforce::sparse_set< Key, Compare, Alloc >::emplace_hint ( iterator position,
Args &&... args )
inline

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

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

在文件 sparse_set.hpp310 行定义.

引用了 neforce::forward().

◆ empty()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
bool neforce::sparse_set< Key, Compare, Alloc >::empty ( ) const
inlinenodiscardnoexcept

检查是否为空

返回
是否为空

在文件 sparse_set.hpp263 行定义.

◆ end() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_iterator neforce::sparse_set< Key, Compare, Alloc >::end ( ) const
inlinenodiscardnoexcept

获取常量结束迭代器

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

在文件 sparse_set.hpp197 行定义.

◆ end() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
iterator neforce::sparse_set< Key, Compare, Alloc >::end ( )
inlinenodiscardnoexcept

获取结束迭代器

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

在文件 sparse_set.hpp185 行定义.

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

◆ equal_range() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
pair< iterator, iterator > neforce::sparse_set< Key, Compare, Alloc >::equal_range ( const key_type & key)
inlinenodiscard

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

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

在文件 sparse_set.hpp422 行定义.

◆ equal_range() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
pair< const_iterator, const_iterator > neforce::sparse_set< Key, Compare, Alloc >::equal_range ( const key_type & key) const
inlinenodiscard

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

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

在文件 sparse_set.hpp429 行定义.

◆ equal_to()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
bool neforce::sparse_set< Key, Compare, Alloc >::equal_to ( const sparse_set< Key, Compare, Alloc > & rhs) const
inlinenodiscardnoexcept

相等比较操作符

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

在文件 sparse_set.hpp461 行定义.

引用了 sparse_set().

◆ erase() [1/3]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
size_type neforce::sparse_set< Key, Compare, Alloc >::erase ( const key_type & key)
inlinenoexcept

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

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

在文件 sparse_set.hpp354 行定义.

◆ erase() [2/3]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
void neforce::sparse_set< Key, Compare, Alloc >::erase ( iterator first,
iterator last )
inlinenoexcept

删除指定范围内的元素

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

在文件 sparse_set.hpp361 行定义.

◆ erase() [3/3]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
void neforce::sparse_set< Key, Compare, Alloc >::erase ( iterator position)
inlinenoexcept

删除指定位置的元素

参数
position要删除的位置

在文件 sparse_set.hpp347 行定义.

◆ find() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
iterator neforce::sparse_set< Key, Compare, Alloc >::find ( const key_type & key)
inlinenodiscard

查找具有指定键的元素

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

在文件 sparse_set.hpp373 行定义.

◆ find() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_iterator neforce::sparse_set< Key, Compare, Alloc >::find ( const key_type & key) const
inlinenodiscard

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

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

在文件 sparse_set.hpp380 行定义.

◆ insert() [1/5]

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

拷贝插入元素

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

在文件 sparse_set.hpp293 行定义.

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

◆ insert() [2/5]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
template<typename Iterator>
void neforce::sparse_set< Key, Compare, Alloc >::insert ( Iterator first,
Iterator last )
inline

范围插入元素

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

在文件 sparse_set.hpp339 行定义.

◆ insert() [3/5]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
iterator neforce::sparse_set< Key, Compare, Alloc >::insert ( iterator position,
const value_type & value )
inline

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

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

在文件 sparse_set.hpp320 行定义.

◆ insert() [4/5]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
iterator neforce::sparse_set< Key, Compare, Alloc >::insert ( iterator position,
value_type && value )
inline

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

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

在文件 sparse_set.hpp328 行定义.

引用了 neforce::move().

◆ insert() [5/5]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
pair< iterator, bool > neforce::sparse_set< Key, Compare, Alloc >::insert ( value_type && value)
inline

移动插入元素

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

在文件 sparse_set.hpp300 行定义.

引用了 neforce::move().

◆ key_comp()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
key_compare neforce::sparse_set< Key, Compare, Alloc >::key_comp ( ) const
inlinenodiscardnoexcept

获取键比较函数对象

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

在文件 sparse_set.hpp269 行定义.

◆ less_than()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
bool neforce::sparse_set< Key, Compare, Alloc >::less_than ( const sparse_set< Key, Compare, Alloc > & rhs) const
inlinenodiscardnoexcept

小于比较操作符

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

在文件 sparse_set.hpp470 行定义.

引用了 sparse_set().

◆ lower_bound() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
iterator neforce::sparse_set< Key, Compare, Alloc >::lower_bound ( const key_type & key)
inlinenodiscard

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

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

在文件 sparse_set.hpp394 行定义.

◆ lower_bound() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_iterator neforce::sparse_set< Key, Compare, Alloc >::lower_bound ( const key_type & key) const
inlinenodiscard

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

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

在文件 sparse_set.hpp401 行定义.

◆ max_size()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
size_type neforce::sparse_set< Key, Compare, Alloc >::max_size ( ) const
inlinenodiscardnoexcept

获取最大可能大小

返回
最大元素数量

在文件 sparse_set.hpp257 行定义.

◆ operator=() [1/3]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
sparse_set & neforce::sparse_set< Key, Compare, Alloc >::operator= ( const sparse_set< Key, Compare, Alloc > & other)
inline

拷贝赋值运算符

参数
other源sparse_set
返回
自身引用

在文件 sparse_set.hpp96 行定义.

引用了 sparse_set().

◆ operator=() [2/3]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
sparse_set & neforce::sparse_set< Key, Compare, Alloc >::operator= ( sparse_set< Key, Compare, Alloc > && other)
inlinenoexcept

移动赋值运算符

参数
other源sparse_set
返回
自身引用

在文件 sparse_set.hpp113 行定义.

引用了 neforce::is_nothrow_swappable_v , 以及 sparse_set().

◆ operator=() [3/3]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
sparse_set & neforce::sparse_set< Key, Compare, Alloc >::operator= ( std::initializer_list< value_type > ilist)
inline

初始化列表赋值运算符

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

在文件 sparse_set.hpp164 行定义.

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

◆ rbegin() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_reverse_iterator neforce::sparse_set< Key, Compare, Alloc >::rbegin ( ) const
inlinenodiscardnoexcept

获取常量反向起始迭代器

返回
指向最大元素的常量反向迭代器

在文件 sparse_set.hpp227 行定义.

◆ rbegin() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
reverse_iterator neforce::sparse_set< Key, Compare, Alloc >::rbegin ( )
inlinenodiscardnoexcept

获取反向起始迭代器

返回
指向最大元素的反向迭代器

在文件 sparse_set.hpp215 行定义.

◆ rend() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_reverse_iterator neforce::sparse_set< Key, Compare, Alloc >::rend ( ) const
inlinenodiscardnoexcept

获取常量反向结束迭代器

返回
指向最小元素之前位置的常量反向迭代器

在文件 sparse_set.hpp233 行定义.

◆ rend() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
reverse_iterator neforce::sparse_set< Key, Compare, Alloc >::rend ( )
inlinenodiscardnoexcept

获取反向结束迭代器

返回
指向最小元素之前位置的反向迭代器

在文件 sparse_set.hpp221 行定义.

◆ reserve()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
void neforce::sparse_set< Key, Compare, Alloc >::reserve ( size_type n)
inline

预留容量

参数
n预留的元素数量

在文件 sparse_set.hpp437 行定义.

◆ size()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
size_type neforce::sparse_set< Key, Compare, Alloc >::size ( ) const
inlinenodiscardnoexcept

获取元素数量

返回
sparse_set中的元素数量

在文件 sparse_set.hpp251 行定义.

◆ swap()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
void neforce::sparse_set< Key, Compare, Alloc >::swap ( sparse_set< Key, Compare, Alloc > & other)
inlinenoexcept

交换两个sparse_set的内容

参数
other要交换的另一个sparse_set

在文件 sparse_set.hpp454 行定义.

引用了 sparse_set().

◆ upper_bound() [1/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
iterator neforce::sparse_set< Key, Compare, Alloc >::upper_bound ( const key_type & key)
inlinenodiscard

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

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

在文件 sparse_set.hpp408 行定义.

◆ upper_bound() [2/2]

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
const_iterator neforce::sparse_set< Key, Compare, Alloc >::upper_bound ( const key_type & key) const
inlinenodiscard

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

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

在文件 sparse_set.hpp415 行定义.

◆ value_comp()

template<typename Key, typename Compare = less<Key>, typename Alloc = allocator<Key>>
value_compare neforce::sparse_set< Key, Compare, Alloc >::value_comp ( ) const
inlinenodiscardnoexcept

获取值比较函数对象

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

在文件 sparse_set.hpp275 行定义.


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