🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::CorVector< T > 模板类 参考

#include <CorVector.hpp>

struct  CorVectorAllocator
 

Public 类型

using value_type = T
 
using pointer = T*
 
using const_pointer = const T*
 
using reference = T&
 
using const_reference = const T&
 
using size_type = size_t
 
using difference_type = ptrdiff_t
 
using iterator = T*
 
using const_iterator = const T*
 
using reverse_iterator = std::reverse_iterator<iterator>
 
using const_reverse_iterator = std::reverse_iterator<const_iterator>
 
using allocator_type = std::allocator<T>
 

Public 成员函数

 CorVector (size_type count)
 
 CorVector (size_type count, const T &value)
 
template<typename InputIt >
 CorVector (InputIt first, InputIt last)
 
 CorVector (std::initializer_list< T > init)
 
 CorVector (const CorVector &other)
 
 CorVector (CorVector &&other) noexcept
 
CorVectoroperator= (const CorVector &other)
 
CorVectoroperator= (CorVector &&other) noexcept
 
CorVectoroperator= (std::initializer_list< T > init)
 
reference operator[] (size_type pos)
 
const_reference operator[] (size_type pos) const
 
reference at (size_type pos)
 
const_reference at (size_type pos) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
T * data () noexcept
 
const T * data () const noexcept
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
const_iterator cbegin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cend () const noexcept
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rbegin () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
reverse_iterator rend () noexcept
 
const_reverse_iterator rend () const noexcept
 
const_reverse_iterator crend () const noexcept
 
bool empty () const noexcept
 
size_type size () const noexcept
 
size_type max_size () const noexcept
 
size_type capacity () const noexcept
 
void reserve (size_type new_cap)
 
void shrink_to_fit ()
 
void clear () noexcept
 
iterator insert (const_iterator pos, const T &value)
 
iterator insert (const_iterator pos, T &&value)
 
iterator insert (const_iterator pos, size_type count, const T &value)
 
template<typename InputIt >
iterator insert (const_iterator pos, InputIt first, InputIt last)
 
iterator insert (const_iterator pos, std::initializer_list< T > init)
 
iterator erase (const_iterator pos)
 
iterator erase (const_iterator first, const_iterator last)
 
void push_back (const T &value)
 
void push_back (T &&value)
 
void pop_back ()
 
void resize (size_type count)
 
void resize (size_type count, const T &value)
 
void swap (CorVector &other) noexcept
 
bool is_borrowed () const noexcept
 
bool is_owned () const noexcept
 
void borrow_from (T *data, size_type size) noexcept
 

Protected 成员函数

allocator_type & allocator () noexcept
 
const allocator_type & allocator () const noexcept
 
T * end_of_storage () const noexcept
 
void allocate_and_copy (size_type new_cap)
 

Protected 属性

T * data_ {nullptr}
 
size_t size_ {0}
 
CorVectorAllocator allocator_ {}
 

详细描述

template<typename T>
class ast::CorVector< T >

Copy-On-Resize/Reserve Vector

可以多个CorVector对象共享同一份内存,读取和修改数据 当容器需要更改大小时(除了resize(0)reserve(0)外),会进行复制操作


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