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

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 vectoroperator= (const vector &other)
 拷贝赋值运算符
constexpr vector (vector &&other) noexcept(is_nothrow_swappable_v< compressed_pair< allocator_type, pointer > >)
 移动构造函数
constexpr 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>
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 vectoroperator= (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)
 特殊值,表示未找到或"直到末尾"

详细描述

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>>
vector< T, Alloc >::vector ( )
inlineconstexpr

默认构造函数

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

在文件 vector.hpp417 行定义.

◆ vector() [2/11]

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

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

参数
n元素数量

在文件 vector.hpp428 行定义.

◆ vector() [3/11]

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

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

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

在文件 vector.hpp449 行定义.

◆ vector() [4/11]

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

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

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

在文件 vector.hpp456 行定义.

◆ vector() [5/11]

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

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

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

在文件 vector.hpp463 行定义.

◆ vector() [6/11]

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

拷贝构造函数

参数
other源向量

在文件 vector.hpp469 行定义.

◆ vector() [7/11]

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

移动构造函数

参数
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>
vector< T, Alloc >::vector ( Iterator first,
Iterator last )
inlineconstexpr

范围构造函数

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

在文件 vector.hpp524 行定义.

◆ vector() [9/11]

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

范围构造函数

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

在文件 vector.hpp535 行定义.

◆ vector() [10/11]

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

初始化列表构造函数

参数
ilist初始化列表

在文件 vector.hpp542 行定义.

◆ vector() [11/11]

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

内存视图构造函数

参数
view内存视图

在文件 vector.hpp549 行定义.

成员函数说明

◆ assign() [1/3]

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

范围赋值

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

在文件 vector.hpp956 行定义.

◆ assign() [2/3]

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

赋值n个指定值的元素

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

在文件 vector.hpp921 行定义.

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

◆ assign() [3/3]

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

初始化列表赋值

参数
ilist初始化列表

在文件 vector.hpp964 行定义.

◆ at() [1/2]

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

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

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

在文件 vector.hpp1156 行定义.

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

◆ at() [2/2]

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

带边界检查的索引访问

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

在文件 vector.hpp1166 行定义.

◆ back() [1/2]

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

访问最后一个常量元素

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

在文件 vector.hpp764 行定义.

◆ back() [2/2]

template<typename T, typename Alloc = allocator<T>>
reference vector< T, Alloc >::back ( )
inlinenodiscardconstexprnoexcept

访问最后一个元素

返回
最后一个元素的引用

在文件 vector.hpp755 行定义.

◆ begin() [1/2]

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

获取常量起始迭代器

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

在文件 vector.hpp600 行定义.

◆ begin() [2/2]

template<typename T, typename Alloc = allocator<T>>
iterator vector< T, Alloc >::begin ( )
inlinenodiscardconstexprnoexcept

◆ capacity()

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

获取当前容量

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

在文件 vector.hpp680 行定义.

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

◆ cbegin()

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

获取常量起始迭代器

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

在文件 vector.hpp636 行定义.

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

◆ cend()

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

获取常量结束迭代器

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

在文件 vector.hpp644 行定义.

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

◆ clear()

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

清空向量

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

在文件 vector.hpp1142 行定义.

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

◆ crbegin()

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

获取常量反向起始迭代器

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

在文件 vector.hpp650 行定义.

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

◆ crend()

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

获取常量反向结束迭代器

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

在文件 vector.hpp658 行定义.

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

◆ data() [1/2]

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

获取底层数据常量指针

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

在文件 vector.hpp700 行定义.

◆ data() [2/2]

template<typename T, typename Alloc = allocator<T>>
pointer vector< T, Alloc >::data ( )
inlinenodiscardconstexprnoexcept

获取底层数据指针

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

在文件 vector.hpp694 行定义.

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

◆ emplace()

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

在指定位置构造元素

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

在文件 vector.hpp829 行定义.

被这些函数引用 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>
void vector< T, Alloc >::emplace_back ( Args &&... args)
inlineconstexpr

在末尾构造元素

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

在文件 vector.hpp874 行定义.

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

◆ empty()

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

◆ end() [1/2]

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

获取常量结束迭代器

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

在文件 vector.hpp606 行定义.

◆ end() [2/2]

template<typename T, typename Alloc = allocator<T>>
iterator vector< T, Alloc >::end ( )
inlinenodiscardconstexprnoexcept

◆ equal_to()

template<typename T, typename Alloc = allocator<T>>
bool vector< T, Alloc >::equal_to ( const vector< T, Alloc > & rhs) const
inlinenodiscardconstexprnoexcept

相等比较操作符

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

在文件 vector.hpp1208 行定义.

◆ erase() [1/2]

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

删除指定范围内的元素

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

在文件 vector.hpp1071 行定义.

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

◆ erase() [2/2]

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

删除指定位置的元素

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

在文件 vector.hpp1092 行定义.

◆ front() [1/2]

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

访问第一个常量元素

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

在文件 vector.hpp746 行定义.

◆ front() [2/2]

template<typename T, typename Alloc = allocator<T>>
reference vector< T, Alloc >::front ( )
inlinenodiscardconstexprnoexcept

访问第一个元素

返回
第一个元素的引用

在文件 vector.hpp737 行定义.

◆ insert() [1/6]

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

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

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

在文件 vector.hpp997 行定义.

◆ insert() [2/6]

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

在指定位置拷贝插入元素

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

在文件 vector.hpp974 行定义.

被这些函数引用 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>
void vector< T, Alloc >::insert ( iterator position,
Iterator first,
Iterator last )
inlineconstexpr

范围插入

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

在文件 vector.hpp1007 行定义.

◆ insert() [4/6]

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

插入n个指定值的元素

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

在文件 vector.hpp1026 行定义.

◆ insert() [5/6]

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

初始化列表插入

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

在文件 vector.hpp1016 行定义.

◆ insert() [6/6]

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

在指定位置移动插入元素

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

在文件 vector.hpp986 行定义.

◆ less_than()

template<typename T, typename Alloc = allocator<T>>
bool vector< T, Alloc >::less_than ( const vector< T, Alloc > & rhs) const
inlinenodiscardconstexprnoexcept

小于比较操作符

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

在文件 vector.hpp1218 行定义.

◆ max_size()

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

获取最大可能大小

返回
最大元素数量

在文件 vector.hpp674 行定义.

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

◆ operator=() [1/3]

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

拷贝赋值运算符

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

在文件 vector.hpp481 行定义.

◆ operator=() [2/3]

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

初始化列表赋值运算符

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

在文件 vector.hpp557 行定义.

◆ operator=() [3/3]

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

移动赋值运算符

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

在文件 vector.hpp506 行定义.

◆ operator[]() [1/2]

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

常量下标访问操作符

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

在文件 vector.hpp1176 行定义.

◆ operator[]() [2/2]

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

下标访问操作符

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

在文件 vector.hpp1185 行定义.

◆ pop_back_v()

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

移除并返回末尾元素

返回
被移除的元素

在文件 vector.hpp908 行定义.

◆ push_back() [1/2]

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

在末尾拷贝插入元素

参数
value要插入的值

在文件 vector.hpp887 行定义.

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

◆ push_back() [2/2]

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

在末尾移动插入元素

参数
value要插入的值

在文件 vector.hpp893 行定义.

◆ rbegin() [1/2]

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

获取常量反向起始迭代器

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

在文件 vector.hpp624 行定义.

◆ rbegin() [2/2]

template<typename T, typename Alloc = allocator<T>>
reverse_iterator vector< T, Alloc >::rbegin ( )
inlinenodiscardconstexprnoexcept

获取反向起始迭代器

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

在文件 vector.hpp612 行定义.

◆ rend() [1/2]

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

获取常量反向结束迭代器

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

在文件 vector.hpp630 行定义.

◆ rend() [2/2]

template<typename T, typename Alloc = allocator<T>>
reverse_iterator vector< T, Alloc >::rend ( )
inlinenodiscardconstexprnoexcept

获取反向结束迭代器

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

在文件 vector.hpp618 行定义.

◆ reserve()

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

预留容量

参数
n要预留的容量

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

在文件 vector.hpp775 行定义.

被这些函数引用 get_current_task_group().

◆ resize() [1/2]

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

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

参数
new_size新的大小

在文件 vector.hpp820 行定义.

◆ resize() [2/2]

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

调整大小

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

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

在文件 vector.hpp808 行定义.

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

◆ shrink_to_fit()

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

收缩容量以适应当前大小

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

在文件 vector.hpp1107 行定义.

◆ size()

◆ swap()

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

交换两个向量的内容

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

在文件 vector.hpp1193 行定义.

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

◆ view() [1/4]

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

获取底层数据的常量视图

返回
指向元素的常量视图

在文件 vector.hpp712 行定义.

◆ view() [2/4]

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

获取底层数据的视图

返回
指向元素的视图

在文件 vector.hpp706 行定义.

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

◆ view() [3/4]

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

获取底层数据的常量视图

返回
指向元素的常量视图

在文件 vector.hpp727 行定义.

◆ view() [4/4]

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

获取底层数据的视图

返回
指向元素的视图

在文件 vector.hpp718 行定义.


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