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

动态大小数组容器 更多...

#include <vector.hpp>

类 vector< T, Alloc > 继承关系图:
[图例]

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 成员函数

NEFORCE_CONSTEXPR20 vector ()
 默认构造函数
NEFORCE_CONSTEXPR20 vector (const size_type n)
 构造包含n个默认构造元素的向量
NEFORCE_CONSTEXPR20 vector (const size_type n, const T &value)
 构造包含n个指定值元素的向量
NEFORCE_CONSTEXPR20 vector (const int32_t n, const T &value)
 构造包含n个指定值元素的向量
NEFORCE_CONSTEXPR20 vector (const int64_t n, const T &value)
 构造包含n个指定值元素的向量
NEFORCE_CONSTEXPR20 vector (const vector &other)
 拷贝构造函数
NEFORCE_CONSTEXPR20 vectoroperator= (const vector &other)
 拷贝赋值运算符
NEFORCE_CONSTEXPR20 vector (vector &&other) noexcept(is_nothrow_swappable_v< compressed_pair< allocator_type, pointer > >)
 移动构造函数
NEFORCE_CONSTEXPR20 vectoroperator= (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>
NEFORCE_CONSTEXPR20 vector (Iterator first, Iterator last)
 范围构造函数
template<typename Iterator>
NEFORCE_CONSTEXPR20 vector (Iterator first, const size_type n)
 范围构造函数
NEFORCE_CONSTEXPR20 vector (std::initializer_list< T > ilist)
 初始化列表构造函数
NEFORCE_CONSTEXPR20 vector (memory_view< T > view)
 内存视图构造函数
NEFORCE_CONSTEXPR20 vectoroperator= (std::initializer_list< T > ilist)
 初始化列表赋值运算符
NEFORCE_CONSTEXPR20 ~vector ()
 析构函数
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 iterator begin () noexcept
 获取起始迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 iterator end () noexcept
 获取结束迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator begin () const noexcept
 获取常量起始迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator end () const noexcept
 获取常量结束迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reverse_iterator rbegin () noexcept
 获取反向起始迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reverse_iterator rend () noexcept
 获取反向结束迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator rbegin () const noexcept
 获取常量反向起始迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator rend () const noexcept
 获取常量反向结束迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator cbegin () const noexcept
 获取常量起始迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator cend () const noexcept
 获取常量结束迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator crbegin () const noexcept
 获取常量反向起始迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator crend () const noexcept
 获取常量反向结束迭代器
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 size_type size () const noexcept
 获取当前元素数量
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 size_type capacity () const noexcept
 获取当前容量
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool empty () const noexcept
 检查是否为空
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 pointer data () noexcept
 获取底层数据指针
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_pointer data () const noexcept
 获取底层数据常量指针
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< T > view () noexcept
 获取底层数据的视图
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< const T > view () const noexcept
 获取底层数据的常量视图
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< T > view (const size_type off, size_type count=npos) noexcept
 获取底层数据的视图
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< const T > view (const size_type off, size_type count=npos) const noexcept
 获取底层数据的常量视图
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference front () noexcept
 访问第一个元素
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference front () const noexcept
 访问第一个常量元素
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference back () noexcept
 访问最后一个元素
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference back () const noexcept
 访问最后一个常量元素
NEFORCE_CONSTEXPR20 void reserve (const size_type n)
 预留容量
NEFORCE_CONSTEXPR20 void resize (size_type new_size, const T &value)
 调整大小
NEFORCE_CONSTEXPR20 void resize (const size_type new_size)
 使用默认构造的元素调整大小
template<typename... Args>
NEFORCE_CONSTEXPR20 void emplace (iterator position, Args &&... args)
 在指定位置构造元素
template<typename... Args>
NEFORCE_CONSTEXPR20 void emplace_back (Args &&... args)
 在末尾构造元素
NEFORCE_CONSTEXPR20 void push_back (const T &value)
 在末尾拷贝插入元素
NEFORCE_CONSTEXPR20 void push_back (T &&value)
 在末尾移动插入元素
NEFORCE_CONSTEXPR20 void pop_back () noexcept(is_nothrow_destructible_v< T >)
 移除末尾元素
NEFORCE_CONSTEXPR20 T pop_back_v () noexcept(is_nothrow_destructible_v< T > &&is_nothrow_move_constructible_v< T >)
 移除并返回末尾元素
NEFORCE_CONSTEXPR20 void assign (size_type n, const value_type &value)
 赋值n个指定值的元素
template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0>
NEFORCE_CONSTEXPR20 void assign (Iterator first, Iterator last)
 范围赋值
NEFORCE_CONSTEXPR20 void assign (std::initializer_list< value_type > ilist)
 初始化列表赋值
NEFORCE_CONSTEXPR20 iterator insert (iterator position, const value_type &value)
 在指定位置拷贝插入元素
NEFORCE_CONSTEXPR20 iterator insert (iterator position, value_type &&value)
 在指定位置移动插入元素
NEFORCE_CONSTEXPR20 iterator insert (iterator position)
 在指定位置插入默认构造的元素
template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0>
NEFORCE_CONSTEXPR20 void insert (iterator position, Iterator first, Iterator last)
 范围插入
NEFORCE_CONSTEXPR20 void insert (iterator position, std::initializer_list< value_type > ilist)
 初始化列表插入
NEFORCE_CONSTEXPR20 void insert (iterator position, size_type n, const value_type &value)
 插入n个指定值的元素
NEFORCE_CONSTEXPR20 iterator erase (iterator first, iterator last) noexcept(is_nothrow_move_assignable_v< value_type > &&is_nothrow_destructible_v< value_type >)
 删除指定范围内的元素
NEFORCE_CONSTEXPR20 iterator erase (iterator position) noexcept(is_nothrow_move_assignable_v< value_type >)
 删除指定位置的元素
NEFORCE_CONSTEXPR20 void shrink_to_fit ()
 收缩容量以适应当前大小
NEFORCE_CONSTEXPR20 void clear () noexcept(is_nothrow_destructible_v< value_type >)
 清空向量
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference at (const size_type position) const noexcept
 带边界检查的常量索引访问
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference at (const size_type position) noexcept
 带边界检查的索引访问
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference operator[] (const size_type position) const noexcept
 常量下标访问操作符
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference operator[] (const size_type position) noexcept
 下标访问操作符
NEFORCE_CONSTEXPR20 void swap (vector &other) noexcept(is_nothrow_swappable_v< allocator_type >)
 交换两个向量的内容
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool operator== (const vector &rhs) const noexcept(noexcept(_NEFORCE equal(cbegin(), cend(), rhs.cbegin())))
 相等比较操作符
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool operator< (const vector &rhs) const noexcept(noexcept(_NEFORCE lexicographical_compare(cbegin(), cend(), rhs.cbegin(), rhs.cend())))
 小于比较操作符
Public 成员函数 继承自 icollector< T >
NEFORCE_NODISCARD constexpr decltype(auto) size () const noexcept(noexcept(derived().size()))
 获取集合大小
NEFORCE_NODISCARD constexpr bool empty () const noexcept(noexcept(derived().empty()))
 检查集合是否为空
Public 成员函数 继承自 icomparable< T >
NEFORCE_NODISCARD constexpr bool operator== (const T &rhs) const noexcept(noexcept(derived()==rhs))
 相等比较运算符
NEFORCE_NODISCARD constexpr bool operator!= (const T &rhs) const noexcept(noexcept(!(*this==rhs)))
 不等比较运算符
NEFORCE_NODISCARD constexpr bool operator< (const T &rhs) const noexcept(noexcept(derived()< rhs))
 小于比较运算符
NEFORCE_NODISCARD constexpr bool operator> (const T &rhs) const noexcept(noexcept(rhs< derived()))
 大于比较运算符
NEFORCE_NODISCARD constexpr bool operator<= (const T &rhs) const noexcept(noexcept(!(derived() > rhs)))
 小于等于比较运算符
NEFORCE_NODISCARD constexpr bool operator>= (const T &rhs) const noexcept(noexcept(!(derived()< rhs)))
 大于等于比较运算符

静态 Public 成员函数

static NEFORCE_NODISCARD constexpr size_type max_size () noexcept
 获取最大可能大小

静态 Public 属性

static constexpr size_type npos = static_cast<size_type>(-1)
 特殊值,表示未找到或"直到末尾"

详细描述

template<typename T, typename Alloc = allocator<T>>
class vector< T, Alloc >

动态大小数组容器

模板参数
T元素类型
Alloc分配器类型

动态增长的数组容器,提供连续的存储空间和随机访问能力。 支持在末尾高效插入/删除元素,以及在任意位置插入/删除。

在文件 vector.hpp167 行定义.

构造及析构函数说明

◆ vector() [1/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( )
inline

默认构造函数

构造一个空向量,初始容量为1。

在文件 vector.hpp417 行定义.

◆ vector() [2/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( const size_type n)
inlineexplicit

构造包含n个默认构造元素的向量

参数
n元素数量

在文件 vector.hpp428 行定义.

◆ vector() [3/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( const size_type n,
const T & value )
inlineexplicit

构造包含n个指定值元素的向量

参数
n64位无符号元素数量
value初始值

在文件 vector.hpp449 行定义.

◆ vector() [4/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( const int32_t n,
const T & value )
inlineexplicit

构造包含n个指定值元素的向量

参数
n32位元素数量
value初始值

在文件 vector.hpp456 行定义.

◆ vector() [5/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( const int64_t n,
const T & value )
inlineexplicit

构造包含n个指定值元素的向量

参数
n64位元素数量
value初始值

在文件 vector.hpp463 行定义.

◆ vector() [6/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( const vector< T, Alloc > & other)
inline

拷贝构造函数

参数
other源向量

在文件 vector.hpp469 行定义.

◆ vector() [7/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( vector< T, Alloc > && other)
inlinenoexcept

移动构造函数

参数
other源向量

在文件 vector.hpp496 行定义.

◆ vector() [8/11]

template<typename T, typename Alloc = allocator<T>>
template<typename Iterator, enable_if_t< is_ranges_iter_v< Iterator >, int > = 0>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( Iterator first,
Iterator last )
inline

范围构造函数

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

在文件 vector.hpp524 行定义.

◆ vector() [9/11]

template<typename T, typename Alloc = allocator<T>>
template<typename Iterator>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( Iterator first,
const size_type n )
inline

范围构造函数

模板参数
Iterator迭代器类型
参数
first起始迭代器
n迭代长度

在文件 vector.hpp536 行定义.

◆ vector() [10/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( std::initializer_list< T > ilist)
inline

初始化列表构造函数

参数
ilist初始化列表

在文件 vector.hpp543 行定义.

◆ vector() [11/11]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector< T, Alloc >::vector ( memory_view< T > view)
inline

内存视图构造函数

参数
view内存视图

在文件 vector.hpp550 行定义.

成员函数说明

◆ assign() [1/3]

template<typename T, typename Alloc = allocator<T>>
template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::assign ( Iterator first,
Iterator last )
inline

范围赋值

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

在文件 vector.hpp971 行定义.

◆ assign() [2/3]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::assign ( size_type n,
const value_type & value )
inline

赋值n个指定值的元素

参数
n元素数量
value要赋的值

在文件 vector.hpp936 行定义.

被这些函数引用 vector< byte_t >::assign().

◆ assign() [3/3]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::assign ( std::initializer_list< value_type > ilist)
inline

初始化列表赋值

参数
ilist初始化列表

在文件 vector.hpp979 行定义.

◆ at() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference vector< T, Alloc >::at ( const size_type position) const
inlinenoexcept

带边界检查的常量索引访问

参数
position索引位置
返回
指定位置元素的常量引用

在文件 vector.hpp1172 行定义.

被这些函数引用 vector< byte_t >::operator[]() , 以及 vector< byte_t >::operator[]().

◆ at() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference vector< T, Alloc >::at ( const size_type position)
inlinenoexcept

带边界检查的索引访问

参数
position索引位置
返回
指定位置元素的引用

在文件 vector.hpp1182 行定义.

◆ back() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference vector< T, Alloc >::back ( ) const
inlinenoexcept

访问最后一个常量元素

返回
最后一个元素的常量引用

在文件 vector.hpp779 行定义.

◆ back() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference vector< T, Alloc >::back ( )
inlinenoexcept

访问最后一个元素

返回
最后一个元素的引用

在文件 vector.hpp770 行定义.

◆ begin() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator vector< T, Alloc >::begin ( ) const
inlinenoexcept

获取常量起始迭代器

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

在文件 vector.hpp601 行定义.

◆ begin() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 iterator vector< T, Alloc >::begin ( )
inlinenoexcept

◆ capacity()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 size_type vector< T, Alloc >::capacity ( ) const
inlinenoexcept

获取当前容量

返回
已分配内存可容纳的元素数量

在文件 vector.hpp681 行定义.

被这些函数引用 vector< byte_t >::assign(), vector< byte_t >::reserve() , 以及 vector< byte_t >::shrink_to_fit().

◆ cbegin()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator vector< T, Alloc >::cbegin ( ) const
inlinenoexcept

获取常量起始迭代器

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

在文件 vector.hpp637 行定义.

被这些函数引用 vector< byte_t >::begin(), vector< byte_t >::crend(), vector< byte_t >::operator<(), vector< byte_t >::operator=() , 以及 vector< byte_t >::operator==().

◆ cend()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator vector< T, Alloc >::cend ( ) const
inlinenoexcept

获取常量结束迭代器

返回
指向无效元素的常量迭代器

在文件 vector.hpp645 行定义.

被这些函数引用 vector< byte_t >::crbegin(), vector< byte_t >::end(), vector< byte_t >::operator<(), vector< byte_t >::operator=() , 以及 vector< byte_t >::operator==().

◆ clear()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::clear ( )
inlinenoexcept

清空向量

销毁所有元素,但保留容量。

在文件 vector.hpp1158 行定义.

被这些函数引用 vector< byte_t >::operator=(), vector< byte_t >::operator=() , 以及 vector< byte_t >::~vector().

◆ crbegin()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator vector< T, Alloc >::crbegin ( ) const
inlinenoexcept

获取常量反向起始迭代器

返回
指向无效元素的常量反向迭代器

在文件 vector.hpp651 行定义.

被这些函数引用 vector< byte_t >::rbegin().

◆ crend()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator vector< T, Alloc >::crend ( ) const
inlinenoexcept

获取常量反向结束迭代器

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

在文件 vector.hpp659 行定义.

被这些函数引用 vector< byte_t >::rend().

◆ data() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_pointer vector< T, Alloc >::data ( ) const
inlinenoexcept

获取底层数据常量指针

返回
指向第一个元素的常量指针

在文件 vector.hpp704 行定义.

◆ data() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 pointer vector< T, Alloc >::data ( )
inlinenoexcept

获取底层数据指针

返回
指向第一个元素的指针

在文件 vector.hpp695 行定义.

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

◆ emplace()

template<typename T, typename Alloc = allocator<T>>
template<typename... Args>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::emplace ( iterator position,
Args &&... args )
inline

在指定位置构造元素

模板参数
Args构造参数类型
参数
position插入位置
args构造参数

在文件 vector.hpp844 行定义.

被这些函数引用 vector< byte_t >::emplace_back(), vector< byte_t >::insert() , 以及 vector< byte_t >::insert().

◆ emplace_back()

template<typename T, typename Alloc = allocator<T>>
template<typename... Args>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::emplace_back ( Args &&... args)
inline

在末尾构造元素

模板参数
Args构造参数类型
参数
args构造参数

在文件 vector.hpp889 行定义.

被这些函数引用 get_current_task_group(), vector< byte_t >::push_back() , 以及 vector< byte_t >::push_back().

◆ empty()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool vector< T, Alloc >::empty ( ) const
inlinenoexcept

◆ end() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_iterator vector< T, Alloc >::end ( ) const
inlinenoexcept

获取常量结束迭代器

返回
指向无效元素的常量迭代器

在文件 vector.hpp607 行定义.

◆ end() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 iterator vector< T, Alloc >::end ( )
inlinenoexcept

◆ erase() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 iterator vector< T, Alloc >::erase ( iterator first,
iterator last )
inlinenoexcept

删除指定范围内的元素

参数
first起始迭代器
last结束迭代器
返回
指向最后一个被删除元素之后位置的迭代器

在文件 vector.hpp1087 行定义.

被这些函数引用 vector< byte_t >::assign() , 以及 vector< byte_t >::resize().

◆ erase() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 iterator vector< T, Alloc >::erase ( iterator position)
inlinenoexcept

删除指定位置的元素

参数
position要删除的位置
返回
指向被删除元素之后位置的迭代器

在文件 vector.hpp1108 行定义.

◆ front() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference vector< T, Alloc >::front ( ) const
inlinenoexcept

访问第一个常量元素

返回
第一个元素的常量引用

在文件 vector.hpp761 行定义.

◆ front() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference vector< T, Alloc >::front ( )
inlinenoexcept

访问第一个元素

返回
第一个元素的引用

在文件 vector.hpp752 行定义.

◆ insert() [1/6]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 iterator vector< T, Alloc >::insert ( iterator position)
inline

在指定位置插入默认构造的元素

参数
position插入位置
返回
指向插入元素的迭代器

在文件 vector.hpp1012 行定义.

◆ insert() [2/6]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 iterator vector< T, Alloc >::insert ( iterator position,
const value_type & value )
inline

在指定位置拷贝插入元素

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

在文件 vector.hpp989 行定义.

被这些函数引用 vector< byte_t >::insert(), vector< byte_t >::insert(), vector< byte_t >::operator=() , 以及 vector< byte_t >::resize().

◆ insert() [3/6]

template<typename T, typename Alloc = allocator<T>>
template<typename Iterator, enable_if_t< is_iter_v< Iterator >, int > = 0>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::insert ( iterator position,
Iterator first,
Iterator last )
inline

范围插入

模板参数
Iterator迭代器类型
参数
position插入位置
first起始迭代器
last结束迭代器

在文件 vector.hpp1022 行定义.

◆ insert() [4/6]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::insert ( iterator position,
size_type n,
const value_type & value )
inline

插入n个指定值的元素

参数
position插入位置
n元素数量
value要插入的值

在文件 vector.hpp1041 行定义.

◆ insert() [5/6]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::insert ( iterator position,
std::initializer_list< value_type > ilist )
inline

初始化列表插入

参数
position插入位置
ilist初始化列表

在文件 vector.hpp1031 行定义.

◆ insert() [6/6]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 iterator vector< T, Alloc >::insert ( iterator position,
value_type && value )
inline

在指定位置移动插入元素

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

在文件 vector.hpp1001 行定义.

◆ max_size()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD constexpr size_type vector< T, Alloc >::max_size ( )
inlinestaticconstexprnoexcept

获取最大可能大小

返回
最大元素数量

在文件 vector.hpp675 行定义.

被这些函数引用 vector< byte_t >::reserve().

◆ operator<()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool vector< T, Alloc >::operator< ( const vector< T, Alloc > & rhs) const
inlinenoexcept

小于比较操作符

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

在文件 vector.hpp1234 行定义.

◆ operator=() [1/3]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector & vector< T, Alloc >::operator= ( const vector< T, Alloc > & other)
inline

拷贝赋值运算符

参数
other源向量
返回
自身引用

在文件 vector.hpp481 行定义.

◆ operator=() [2/3]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector & vector< T, Alloc >::operator= ( std::initializer_list< T > ilist)
inline

初始化列表赋值运算符

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

在文件 vector.hpp558 行定义.

◆ operator=() [3/3]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 vector & vector< T, Alloc >::operator= ( vector< T, Alloc > && other)
inlinenoexcept

移动赋值运算符

参数
other源向量
返回
自身引用

在文件 vector.hpp506 行定义.

◆ operator==()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 bool vector< T, Alloc >::operator== ( const vector< T, Alloc > & rhs) const
inlinenoexcept

相等比较操作符

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

在文件 vector.hpp1224 行定义.

◆ operator[]() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reference vector< T, Alloc >::operator[] ( const size_type position) const
inlinenoexcept

常量下标访问操作符

参数
position索引位置
返回
指定位置元素的常量引用

在文件 vector.hpp1192 行定义.

◆ operator[]() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reference vector< T, Alloc >::operator[] ( const size_type position)
inlinenoexcept

下标访问操作符

参数
position索引位置
返回
指定位置元素的引用

在文件 vector.hpp1201 行定义.

◆ pop_back_v()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 T vector< T, Alloc >::pop_back_v ( )
inlinenoexcept

移除并返回末尾元素

返回
被移除的元素

在文件 vector.hpp923 行定义.

◆ push_back() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::push_back ( const T & value)
inline

在末尾拷贝插入元素

参数
value要插入的值

在文件 vector.hpp902 行定义.

被这些函数引用 make_leonardo_heap(), pop_leonardo_heap(), push_leonardo_heap() , 以及 sort_leonardo_heap().

◆ push_back() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::push_back ( T && value)
inline

在末尾移动插入元素

参数
value要插入的值

在文件 vector.hpp908 行定义.

◆ rbegin() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator vector< T, Alloc >::rbegin ( ) const
inlinenoexcept

获取常量反向起始迭代器

返回
指向无效元素的常量反向迭代器

在文件 vector.hpp625 行定义.

◆ rbegin() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reverse_iterator vector< T, Alloc >::rbegin ( )
inlinenoexcept

获取反向起始迭代器

返回
指向无效元素的反向迭代器

在文件 vector.hpp613 行定义.

◆ rend() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 const_reverse_iterator vector< T, Alloc >::rend ( ) const
inlinenoexcept

获取常量反向结束迭代器

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

在文件 vector.hpp631 行定义.

◆ rend() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 reverse_iterator vector< T, Alloc >::rend ( )
inlinenoexcept

获取反向结束迭代器

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

在文件 vector.hpp619 行定义.

◆ reserve()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::reserve ( const size_type n)
inline

预留容量

参数
n要预留的容量

确保向量有至少n的容量,如果当前容量不足则重新分配。

在文件 vector.hpp790 行定义.

被这些函数引用 get_current_task_group().

◆ resize() [1/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::resize ( const size_type new_size)
inline

使用默认构造的元素调整大小

参数
new_size新的大小

在文件 vector.hpp835 行定义.

◆ resize() [2/2]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::resize ( size_type new_size,
const T & value )
inline

调整大小

参数
new_size新的大小
value用于填充新元素的默认值

如果新大小小于当前大小,删除多余元素; 如果大于当前大小,在末尾插入指定值的副本。

在文件 vector.hpp823 行定义.

被这些函数引用 vector< byte_t >::resize().

◆ shrink_to_fit()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::shrink_to_fit ( )
inline

收缩容量以适应当前大小

释放多余的容量,使capacity()等于size()。

在文件 vector.hpp1123 行定义.

◆ size()

◆ swap()

template<typename T, typename Alloc = allocator<T>>
NEFORCE_CONSTEXPR20 void vector< T, Alloc >::swap ( vector< T, Alloc > & other)
inlinenoexcept

交换两个向量的内容

参数
other要交换的另一个向量

在文件 vector.hpp1209 行定义.

被这些函数引用 vector< byte_t >::operator=() , 以及 vector< byte_t >::vector().

◆ view() [1/4]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< const T > vector< T, Alloc >::view ( ) const
inlinenoexcept

获取底层数据的常量视图

返回
指向元素的常量视图

在文件 vector.hpp722 行定义.

◆ view() [2/4]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< T > vector< T, Alloc >::view ( )
inlinenoexcept

获取底层数据的视图

返回
指向元素的视图

在文件 vector.hpp713 行定义.

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

◆ view() [3/4]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< const T > vector< T, Alloc >::view ( const size_type off,
size_type count = npos ) const
inlinenoexcept

获取底层数据的常量视图

返回
指向元素的常量视图

在文件 vector.hpp741 行定义.

◆ view() [4/4]

template<typename T, typename Alloc = allocator<T>>
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 memory_view< T > vector< T, Alloc >::view ( const size_type off,
size_type count = npos )
inlinenoexcept

获取底层数据的视图

返回
指向元素的视图

在文件 vector.hpp731 行定义.


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