|
| 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 vector & | operator= (const vector &other) |
| | 拷贝赋值运算符
|
| NEFORCE_CONSTEXPR20 | vector (vector &&other) noexcept(is_nothrow_swappable_v< compressed_pair< allocator_type, pointer > >) |
| | 移动构造函数
|
| NEFORCE_CONSTEXPR20 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> |
| 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 vector & | operator= (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()))) |
| | 小于比较操作符
|
| NEFORCE_NODISCARD constexpr decltype(auto) | size () const noexcept(noexcept(derived().size())) |
| | 获取集合大小
|
| NEFORCE_NODISCARD constexpr bool | empty () const noexcept(noexcept(derived().empty())) |
| | 检查集合是否为空
|
| 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))) |
| | 大于等于比较运算符
|
template<typename T, typename Alloc = allocator<T>>
class vector< T, Alloc >
动态大小数组容器
- 模板参数
-
动态增长的数组容器,提供连续的存储空间和随机访问能力。 支持在末尾高效插入/删除元素,以及在任意位置插入/删除。
在文件 vector.hpp 第 167 行定义.