|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
位图容器 更多...
#include <bitmap.hpp>
Public 类型 | |
| using | value_type = bool |
| 值类型 | |
| using | pointer = bit_reference* |
| 指针类型 | |
| using | reference = bit_reference |
| 引用类型 | |
| using | const_pointer = const bool* |
| 常量指针类型 | |
| using | const_reference = const bool |
| 常量引用类型 | |
| using | size_type = size_t |
| 大小类型 | |
| using | difference_type = ptrdiff_t |
| 差值类型 | |
| using | iterator = bitmap_iterator<false, bitmap> |
| 迭代器类型 | |
| using | const_iterator = bitmap_iterator<true, bitmap> |
| 常量迭代器类型 | |
| using | reverse_iterator = _NEFORCE reverse_iterator<iterator> |
| 反向迭代器类型 | |
| using | const_reverse_iterator = _NEFORCE reverse_iterator<const_iterator> |
| 常量反向迭代器类型 | |
| using | allocator_type = allocator<uint32_t> |
| 分配器类型 | |
Public 成员函数 | |
| constexpr | bitmap () noexcept=default |
| 默认构造函数 | |
| constexpr | bitmap (const size_type word) |
| 构造函数,指定大小 | |
| constexpr | bitmap (const size_type word, const bool value) |
| 构造函数,指定大小和初始值 | |
| constexpr | bitmap (const int32_t word, const bool value) |
| 32位整数构造函数 | |
| constexpr | bitmap (const int64_t word, const bool value) |
| 64位整数构造函数 | |
| constexpr | bitmap (const bitmap &other) |
| 拷贝构造函数 | |
| constexpr bitmap & | operator= (const bitmap &other) |
| 拷贝赋值运算符 | |
| constexpr | bitmap (bitmap &&other) noexcept |
| 移动构造函数 | |
| constexpr bitmap & | operator= (bitmap &&other) noexcept |
| 移动赋值运算符 | |
| template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0> | |
| constexpr | bitmap (Iterator first, Iterator last) |
| 范围构造函数 | |
| constexpr | ~bitmap ()=default |
| 析构函数 | |
| constexpr iterator | begin () noexcept |
| 获取起始迭代器 | |
| constexpr iterator | end () noexcept |
| 获取结束迭代器 | |
| constexpr const_iterator | begin () const noexcept |
| 获取常量起始迭代器 | |
| constexpr const_iterator | end () const noexcept |
| 获取常量结束迭代器 | |
| constexpr const_iterator | cbegin () const noexcept |
| 获取常量起始迭代器 | |
| constexpr const_iterator | cend () const noexcept |
| 获取常量结束迭代器 | |
| constexpr reverse_iterator | rbegin () noexcept |
| 获取反向起始迭代器 | |
| constexpr reverse_iterator | rend () noexcept |
| 获取反向结束迭代器 | |
| constexpr const_reverse_iterator | rbegin () const noexcept |
| 获取常量反向起始迭代器 | |
| constexpr const_reverse_iterator | rend () const noexcept |
| 获取常量反向结束迭代器 | |
| constexpr const_reverse_iterator | crbegin () const noexcept |
| 获取常量反向起始迭代器 | |
| constexpr const_reverse_iterator | crend () const noexcept |
| 获取常量反向结束迭代器 | |
| constexpr size_type | size () const noexcept |
| 获取位数 | |
| constexpr size_type | max_size () const noexcept |
| 获取最大可能位数 | |
| constexpr bool | empty () const noexcept |
| 检查是否为空 | |
| constexpr size_type | capacity () const noexcept |
| 获取容量(位数) | |
| constexpr reference | operator[] (const size_type n) |
| 下标访问操作符 | |
| constexpr const_reference | operator[] (const size_type n) const |
| 常量下标访问操作符 | |
| constexpr reference | front () |
| 访问第一个位 | |
| constexpr const_reference | front () const |
| 常量版本,访问第一个位 | |
| constexpr reference | back () |
| 访问最后一个位 | |
| constexpr const_reference | back () const |
| 常量版本,访问最后一个位 | |
| constexpr void | reserve (const size_type n) |
| 预留容量 | |
| constexpr void | push_back (const bool value) |
| 在末尾插入位 | |
| constexpr iterator | insert (const iterator &position, const bool value) |
| 在指定位置插入位 | |
| template<typename Iterator> | |
| constexpr void | insert (iterator position, Iterator first, Iterator last) |
| 范围插入 | |
| constexpr void | insert (const iterator &position, const bool *first, const bool *last) |
| 插入布尔数组范围 | |
| constexpr void | insert (const iterator &position, const size_type n, const bool value) |
| 插入n个相同的位 | |
| constexpr void | insert (const iterator &pos, const int32_t n, const bool value) |
| 插入n个相同的位 | |
| constexpr void | insert (const iterator &pos, const int64_t n, const bool value) |
| 插入n个相同的位 | |
| constexpr void | pop_back () |
| 删除末尾位 | |
| constexpr iterator | erase (const iterator &position) |
| 删除指定位置的位 | |
| constexpr iterator | erase (const iterator &first, const iterator &last) |
| 删除指定范围内的位 | |
| constexpr void | resize (const size_type n, const bool value=bool()) |
| 调整大小 | |
| constexpr void | clear () |
| 清空位图 | |
| constexpr void | swap (bitmap &other) noexcept |
| 交换两个位图的内容 | |
| constexpr bool | equal_to (const bitmap &rhs) const noexcept(noexcept(_NEFORCE equal(this->cbegin(), this->cend(), rhs.cbegin()))) |
| 相等比较操作符 | |
| constexpr bool | less_than (const bitmap &rhs) const noexcept(noexcept(_NEFORCE lexicographical_compare(this->cbegin(), this->cend(), rhs.cbegin(), rhs.cend()))) |
| 小于比较操作符 | |
| Public 成员函数 继承自 neforce::icomparable< bitmap > | |
| constexpr bool | operator== (const bitmap &rhs) const noexcept(noexcept(derived().equal_to(rhs))) |
| 相等比较运算符 | |
| constexpr bool | operator!= (const bitmap &rhs) const noexcept(noexcept(!(derived().equal_to(rhs)))) |
| 不等比较运算符 | |
| constexpr bool | operator< (const bitmap &rhs) const noexcept(noexcept(derived().less_than(rhs))) |
| 小于比较运算符 | |
| constexpr bool | operator> (const bitmap &rhs) const noexcept(noexcept(rhs.less_than(derived()))) |
| 大于比较运算符 | |
| constexpr bool | operator<= (const bitmap &rhs) const noexcept(noexcept(!(rhs.less_than(derived())))) |
| 小于等于比较运算符 | |
| constexpr bool | operator>= (const bitmap &rhs) const noexcept(noexcept(!(derived().less_than(rhs)))) |
| 大于等于比较运算符 | |
|
constexprdefaultnoexcept |
默认构造函数
构造一个空位图。
被这些函数引用 bitmap(), bitmap(), bitmap(), bitmap(), bitmap(), equal_to(), less_than(), operator=(), operator=() , 以及 swap().
|
inlineexplicitconstexpr |
构造函数,指定大小
| word | 位数 |
构造包含n个位的位置,所有位初始化为false。
在文件 bitmap.hpp 第 715 行定义.
引用了 bitmap() , 以及 neforce::fill_n().
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineconstexpr |
拷贝构造函数
| other | 源位图 |
在文件 bitmap.hpp 第 758 行定义.
引用了 bitmap(), cbegin(), cend(), empty(), neforce::move() , 以及 size().
|
inlineconstexprnoexcept |
|
inlineconstexpr |
|
inlinenodiscardconstexpr |
|
inlinenodiscardconstexpr |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
获取起始迭代器
在文件 bitmap.hpp 第 833 行定义.
被这些函数引用 clear(), front(), insert(), operator[](), rend(), reserve() , 以及 resize().
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
获取常量起始迭代器
在文件 bitmap.hpp 第 857 行定义.
被这些函数引用 begin(), bitmap(), crend(), equal_to(), front(), less_than(), operator[]() , 以及 size().
|
inlinenodiscardconstexprnoexcept |
获取常量结束迭代器
在文件 bitmap.hpp 第 863 行定义.
被这些函数引用 back(), bitmap(), crbegin(), end(), equal_to(), less_than() , 以及 size().
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
相等比较操作符
| rhs | 右侧位图 |
在文件 bitmap.hpp 第 1160 行定义.
引用了 bitmap(), cbegin(), cend(), neforce::equal() , 以及 size().
|
inlinenodiscardconstexpr |
|
inlinenodiscardconstexpr |
|
inlineconstexpr |
插入布尔数组范围
| position | 插入位置 |
| first | 数组起始指针 |
| last | 数组结束指针 |
在文件 bitmap.hpp 第 1038 行定义.
引用了 capacity(), neforce::distance(), end() , 以及 size().
|
inlineconstexpr |
插入n个相同的位
| position | 插入位置 |
| n | 插入数量 |
| value | 插入值 |
在文件 bitmap.hpp 第 1058 行定义.
引用了 capacity(), end(), neforce::fill() , 以及 size().
|
inlineconstexpr |
|
inlinenodiscardconstexprnoexcept |
小于比较操作符
| rhs | 右侧位图 |
在文件 bitmap.hpp 第 1170 行定义.
引用了 bitmap(), cbegin(), cend() , 以及 neforce::lexicographical_compare().
|
inlinenodiscardconstexprnoexcept |
移动赋值运算符
| other | 源位图 |
在文件 bitmap.hpp 第 805 行定义.
引用了 neforce::addressof(), bitmap() , 以及 swap().
拷贝赋值运算符
| other | 源位图 |
在文件 bitmap.hpp 第 778 行定义.
引用了 neforce::addressof(), bitmap() , 以及 neforce::move().
|
inlinenodiscardconstexpr |
|
inlineconstexpr |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlineconstexpr |
预留容量
| n | 要预留的位数 |
确保位图至少有n位的容量。
在文件 bitmap.hpp 第 979 行定义.
引用了 begin(), capacity(), end() , 以及 neforce::move().
|
inlineconstexpr |
|
inlinenodiscardconstexprnoexcept |
获取位数
在文件 bitmap.hpp 第 909 行定义.
被这些函数引用 bitmap(), equal_to(), insert(), insert() , 以及 resize().
|
inlineconstexprnoexcept |
交换两个位图的内容
| other | 要交换的另一个位图 |
在文件 bitmap.hpp 第 1142 行定义.
引用了 neforce::addressof(), bitmap() , 以及 swap().
被这些函数引用 operator=() , 以及 swap().