|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
动态大小数组容器 更多...
#include <vector.hpp>
Public 类型 | |
| using | pointer = T* |
| 指针类型 | |
| using | reference = T& |
| 引用类型 | |
| using | const_pointer = const T* |
| 常量指针类型 | |
| using | const_reference = const T& |
| 常量引用类型 | |
| using | value_type = T |
| 值类型 | |
| using | size_type = size_t |
| 大小类型 | |
| using | difference_type = ptrdiff_t |
| 差值类型 | |
| using | iterator = vector_iterator<false, vector<T, Alloc>> |
| 迭代器类型 | |
| using | const_iterator = vector_iterator<true, vector<T, Alloc>> |
| 常量迭代器类型 | |
| using | reverse_iterator = _NEFORCE reverse_iterator<iterator> |
| 反向迭代器类型 | |
| using | const_reverse_iterator = _NEFORCE reverse_iterator<const_iterator> |
| 常量反向迭代器类型 | |
| using | allocator_type = Alloc |
| 分配器类型 | |
Public 成员函数 | |
| constexpr | vector () |
| 默认构造函数 | |
| constexpr | vector (const size_type n) |
| 构造包含n个默认构造元素的向量 | |
| constexpr | vector (const size_type n, const T &value) |
| 构造包含n个指定值元素的向量 | |
| constexpr | vector (const int32_t n, const T &value) |
| 构造包含n个指定值元素的向量 | |
| constexpr | vector (const int64_t n, const T &value) |
| 构造包含n个指定值元素的向量 | |
| constexpr | vector (const vector &other) |
| 拷贝构造函数 | |
| constexpr vector & | operator= (const vector &other) |
| 拷贝赋值运算符 | |
| constexpr | vector (vector &&other) noexcept(is_nothrow_swappable_v< compressed_pair< allocator_type, pointer > >) |
| 移动构造函数 | |
| constexpr vector & | operator= (vector &&other) noexcept(is_nothrow_destructible_v< value_type > &&is_nothrow_swappable_v< compressed_pair< allocator_type, pointer > >) |
| 移动赋值运算符 | |
| template<typename Iterator, enable_if_t< is_ranges_iter_v< Iterator >, int > = 0> | |
| constexpr | vector (Iterator first, Iterator last) |
| 范围构造函数 | |
| template<typename Iterator> | |
| constexpr | vector (Iterator first, const size_type n) |
| 范围构造函数 | |
| constexpr | vector (std::initializer_list< T > ilist) |
| 初始化列表构造函数 | |
| constexpr | vector (memory_view< T > view) |
| 内存视图构造函数 | |
| constexpr vector & | operator= (std::initializer_list< T > ilist) |
| 初始化列表赋值运算符 | |
| constexpr | ~vector () |
| 析构函数 | |
| constexpr iterator | begin () noexcept |
| 获取起始迭代器 | |
| constexpr iterator | end () noexcept |
| 获取结束迭代器 | |
| constexpr const_iterator | begin () const noexcept |
| 获取常量起始迭代器 | |
| constexpr const_iterator | end () 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_iterator | cbegin () const noexcept |
| 获取常量起始迭代器 | |
| constexpr const_iterator | cend () 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 | capacity () const noexcept |
| 获取当前容量 | |
| constexpr bool | empty () const noexcept |
| 检查是否为空 | |
| constexpr pointer | data () noexcept |
| 获取底层数据指针 | |
| constexpr const_pointer | data () const noexcept |
| 获取底层数据常量指针 | |
| constexpr memory_view< T > | view () noexcept |
| 获取底层数据的视图 | |
| constexpr memory_view< const T > | view () const noexcept |
| 获取底层数据的常量视图 | |
| constexpr memory_view< T > | view (const size_type off, size_type count=npos) noexcept |
| 获取底层数据的视图 | |
| constexpr memory_view< const T > | view (const size_type off, size_type count=npos) const noexcept |
| 获取底层数据的常量视图 | |
| constexpr reference | front () noexcept |
| 访问第一个元素 | |
| constexpr const_reference | front () const noexcept |
| 访问第一个常量元素 | |
| constexpr reference | back () noexcept |
| 访问最后一个元素 | |
| constexpr const_reference | back () const noexcept |
| 访问最后一个常量元素 | |
| constexpr void | reserve (const size_type n) |
| 预留容量 | |
| constexpr void | resize (size_type new_size, const T &value) |
| 调整大小 | |
| constexpr void | resize (const size_type new_size) |
| 使用默认构造的元素调整大小 | |
| template<typename... Args> | |
| constexpr void | emplace (iterator position, Args &&... args) |
| 在指定位置构造元素 | |
| template<typename... Args> | |
| constexpr void | emplace_back (Args &&... args) |
| 在末尾构造元素 | |
| constexpr void | push_back (const T &value) |
| 在末尾拷贝插入元素 | |
| constexpr void | push_back (T &&value) |
| 在末尾移动插入元素 | |
| constexpr void | pop_back () noexcept(is_nothrow_destructible_v< T >) |
| 移除末尾元素 | |
| constexpr T | pop_back_v () noexcept(is_nothrow_destructible_v< T > &&is_nothrow_move_constructible_v< T >) |
| 移除并返回末尾元素 | |
| constexpr void | assign (size_type n, const value_type &value) |
| 赋值n个指定值的元素 | |
| template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0> | |
| constexpr void | assign (Iterator first, Iterator last) |
| 范围赋值 | |
| constexpr void | assign (std::initializer_list< value_type > ilist) |
| 初始化列表赋值 | |
| constexpr iterator | insert (iterator position, const value_type &value) |
| 在指定位置拷贝插入元素 | |
| constexpr iterator | insert (iterator position, value_type &&value) |
| 在指定位置移动插入元素 | |
| constexpr iterator | insert (iterator position) |
| 在指定位置插入默认构造的元素 | |
| template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0> | |
| constexpr void | insert (iterator position, Iterator first, Iterator last) |
| 范围插入 | |
| constexpr void | insert (iterator position, std::initializer_list< value_type > ilist) |
| 初始化列表插入 | |
| constexpr void | insert (iterator position, size_type n, const value_type &value) |
| 插入n个指定值的元素 | |
| constexpr iterator | erase (iterator first, iterator last) noexcept(is_nothrow_move_assignable_v< value_type > &&is_nothrow_destructible_v< value_type >) |
| 删除指定范围内的元素 | |
| constexpr iterator | erase (iterator position) noexcept(is_nothrow_move_assignable_v< value_type >) |
| 删除指定位置的元素 | |
| constexpr void | shrink_to_fit () |
| 收缩容量以适应当前大小 | |
| constexpr void | clear () noexcept(is_nothrow_destructible_v< value_type >) |
| 清空向量 | |
| constexpr const_reference | at (const size_type position) const noexcept |
| 带边界检查的常量索引访问 | |
| constexpr reference | at (const size_type position) noexcept |
| 带边界检查的索引访问 | |
| constexpr const_reference | operator[] (const size_type position) const noexcept |
| 常量下标访问操作符 | |
| constexpr reference | operator[] (const size_type position) noexcept |
| 下标访问操作符 | |
| constexpr void | swap (vector &other) noexcept(is_nothrow_swappable_v< allocator_type >) |
| 交换两个向量的内容 | |
| constexpr bool | equal_to (const vector &rhs) const noexcept(noexcept(_NEFORCE equal(cbegin(), cend(), rhs.cbegin()))) |
| 相等比较操作符 | |
| constexpr bool | less_than (const vector &rhs) const noexcept(noexcept(_NEFORCE lexicographical_compare(cbegin(), cend(), rhs.cbegin(), rhs.cend()))) |
| 小于比较操作符 | |
| Public 成员函数 继承自 icollector< T > | |
| constexpr decltype(auto) | size () const noexcept(noexcept(derived().size())) |
| 获取集合大小 | |
| constexpr bool | empty () const noexcept(noexcept(derived().empty())) |
| 检查集合是否为空 | |
| Public 成员函数 继承自 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)))) |
| 大于等于比较运算符 | |
静态 Public 成员函数 | |
| static constexpr size_type | max_size () noexcept |
| 获取最大可能大小 | |
静态 Public 属性 | |
| static constexpr size_type | npos = static_cast<size_type>(-1) |
| 特殊值,表示未找到或"直到末尾" | |
动态大小数组容器
| T | 元素类型 |
| Alloc | 分配器类型 |
动态增长的数组容器,提供连续的存储空间和随机访问能力。 支持在末尾高效插入/删除元素,以及在任意位置插入/删除。
在文件 vector.hpp 第 167 行定义.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlinenodiscardconstexprnoexcept |
带边界检查的常量索引访问
| position | 索引位置 |
在文件 vector.hpp 第 1156 行定义.
被这些函数引用 vector< byte_t >::operator[]() , 以及 vector< byte_t >::operator[]().
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
获取起始迭代器
在文件 vector.hpp 第 588 行定义.
被这些函数引用 vector< byte_t >::assign(), vector< byte_t >::emplace(), vector< byte_t >::insert(), vector< byte_t >::insert(), vector< byte_t >::insert(), vector< byte_t >::rend(), vector< byte_t >::resize(), vector< byte_t >::vector(), XOR_decrypt() , 以及 XOR_encrypt().
|
inlinenodiscardconstexprnoexcept |
获取当前容量
在文件 vector.hpp 第 680 行定义.
被这些函数引用 vector< byte_t >::assign(), vector< byte_t >::reserve() , 以及 vector< byte_t >::shrink_to_fit().
|
inlinenodiscardconstexprnoexcept |
获取常量起始迭代器
在文件 vector.hpp 第 636 行定义.
被这些函数引用 vector< byte_t >::begin(), vector< byte_t >::crend(), vector< byte_t >::equal_to(), vector< byte_t >::less_than() , 以及 vector< byte_t >::operator=().
|
inlinenodiscardconstexprnoexcept |
获取常量结束迭代器
在文件 vector.hpp 第 644 行定义.
被这些函数引用 vector< byte_t >::crbegin(), vector< byte_t >::end(), vector< byte_t >::equal_to(), vector< byte_t >::less_than() , 以及 vector< byte_t >::operator=().
|
inlineconstexprnoexcept |
清空向量
销毁所有元素,但保留容量。
在文件 vector.hpp 第 1142 行定义.
被这些函数引用 vector< byte_t >::operator=(), vector< byte_t >::operator=() , 以及 vector< byte_t >::~vector().
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlineconstexpr |
在指定位置构造元素
| Args | 构造参数类型 |
| position | 插入位置 |
| args | 构造参数 |
在文件 vector.hpp 第 829 行定义.
被这些函数引用 vector< byte_t >::emplace_back(), vector< byte_t >::insert() , 以及 vector< byte_t >::insert().
|
inlineconstexpr |
在末尾构造元素
| Args | 构造参数类型 |
| args | 构造参数 |
在文件 vector.hpp 第 874 行定义.
被这些函数引用 get_current_task_group(), vector< byte_t >::push_back() , 以及 vector< byte_t >::push_back().
|
inlinenodiscardconstexprnoexcept |
检查是否为空
在文件 vector.hpp 第 688 行定义.
被这些函数引用 vector< byte_t >::back(), vector< byte_t >::back(), vector< byte_t >::clear(), vector< byte_t >::front(), vector< byte_t >::front(), vector< byte_t >::pop_back() , 以及 vector< byte_t >::pop_back_v().
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
获取结束迭代器
在文件 vector.hpp 第 594 行定义.
被这些函数引用 vector< byte_t >::assign(), vector< byte_t >::emplace(), vector< byte_t >::emplace_back(), vector< byte_t >::erase(), vector< byte_t >::erase(), vector< byte_t >::insert(), vector< byte_t >::operator=(), vector< byte_t >::rbegin(), vector< byte_t >::resize(), vector< byte_t >::vector(), XOR_decrypt() , 以及 XOR_encrypt().
|
inlineconstexprnoexcept |
删除指定范围内的元素
| first | 起始迭代器 |
| last | 结束迭代器 |
在文件 vector.hpp 第 1071 行定义.
被这些函数引用 vector< byte_t >::assign() , 以及 vector< byte_t >::resize().
|
inlinenodiscardconstexprnoexcept |
|
inlineconstexpr |
在指定位置拷贝插入元素
| position | 插入位置 |
| value | 要插入的值 |
在文件 vector.hpp 第 974 行定义.
被这些函数引用 vector< byte_t >::insert(), vector< byte_t >::insert(), vector< byte_t >::operator=() , 以及 vector< byte_t >::resize().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlinenodiscardconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexpr |
在末尾拷贝插入元素
| value | 要插入的值 |
在文件 vector.hpp 第 887 行定义.
被这些函数引用 make_leonardo_heap(), pop_leonardo_heap(), push_leonardo_heap() , 以及 sort_leonardo_heap().
|
inlineconstexpr |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlineconstexpr |
预留容量
| n | 要预留的容量 |
确保向量有至少n的容量,如果当前容量不足则重新分配。
在文件 vector.hpp 第 775 行定义.
被这些函数引用 get_current_task_group().
|
inlineconstexpr |
调整大小
| new_size | 新的大小 |
| value | 用于填充新元素的默认值 |
如果新大小小于当前大小,删除多余元素; 如果大于当前大小,在末尾插入指定值的副本。
在文件 vector.hpp 第 808 行定义.
被这些函数引用 vector< byte_t >::resize().
|
inlineconstexpr |
|
inlinenodiscardconstexprnoexcept |
获取当前元素数量
在文件 vector.hpp 第 666 行定义.
被这些函数引用 vector< byte_t >::assign(), vector< byte_t >::at(), vector< byte_t >::at(), base64_decode(), type_builder< T >::constructor(), vector< byte_t >::emplace(), vector< byte_t >::equal_to(), bloom_filter< T, Hash >::from_bytes(), get_current_task_group(), vector< byte_t >::insert(), vector< byte_t >::operator=(), vector< byte_t >::resize(), sha1(), vector< byte_t >::shrink_to_fit(), vector< byte_t >::vector(), vector< byte_t >::view(), vector< byte_t >::view(), vector< byte_t >::view() , 以及 vector< byte_t >::view().
|
inlineconstexprnoexcept |
交换两个向量的内容
| other | 要交换的另一个向量 |
在文件 vector.hpp 第 1193 行定义.
被这些函数引用 vector< byte_t >::operator=() , 以及 vector< byte_t >::vector().
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |