Potato Engine
Hobby Game Engine Project
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
up::vector< T > Class Template Reference

Public Types

using value_type = T
 
using iterator = T *
 
using const_iterator = T const *
 
using pointer = T *
 
using const_pointer = T const *
 
using reference = T &
 
using const_reference = T const &
 
using rvalue_reference = T &&
 
using size_type = size_t
 
using difference_type = ptrdiff_t
 

Public Member Functions

template<typename IteratorT , typename SentinelT >
 vector (IteratorT begin, SentinelT end)
 
template<typename InsertT >
 vector (std::initializer_list< InsertT > initial)
 
 vector (size_type size, const_reference initial)
 
template<typename InsertT >
 vector (span< InsertT > source)
 
 vector (size_type size)
 
 vector (vector const &)=delete
 
vectoroperator= (vector const &)=delete
 
 vector (vector &&src)
 
vectoroperator= (vector &&src)
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
pointer data ()
 
const_pointer data () const
 
pointer release ()
 
bool empty () const
 
size_type size () const
 
size_type capacity () const
 
reference operator[] (size_type index)
 
const_reference operator[] (size_type index) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void reserve (size_type required)
 
void resize (size_type new_size)
 
void resize (size_type new_size, const_reference init)
 
void clear ()
 
void shrink_to_fit ()
 
template<typename... ParamsT>
auto emplace (const_iterator pos, ParamsT &&... params) -> enable_if_t< std::is_constructible< T, ParamsT... >::value, iterator >
 
template<typename... ParamsT>
auto emplace_back (ParamsT &&... params) -> enable_if_t< std::is_constructible< T, ParamsT... >::value, iterator >
 
iterator insert (iterator pos, const_reference value)
 
iterator insert (iterator pos, rvalue_reference value)
 
template<typename InsertT >
iterator insert (const_iterator pos, InsertT &&value)
 
template<typename IteratorT , typename SentinelT >
iterator insert (const_iterator pos, IteratorT begin, SentinelT end)
 
iterator push_back (const_reference value)
 
iterator push_back (rvalue_reference value)
 
template<typename InsertT >
iterator push_back (InsertT &&value)
 
iterator erase (const_iterator pos)
 
iterator erase (const_iterator begin, const_iterator end)
 
span< T > subspan (size_type index) noexcept
 
span< T > subspan (size_type index, size_type count) noexcept
 
span< T const > subspan (size_type index) const noexcept
 
span< T const > subspan (size_type index, size_type count) const noexcept
 
 operator span< T > () noexcept
 
 operator span< T const > () const noexcept
 
span< byte const > as_bytes () const noexcept
 
void pop_back ()
 
T * _allocate (size_type capacity)
 
void _deallocate (T *ptr, size_type capacity)
 
size_type _grow (size_type minimum=4)
 
void _rshift (T *pos, size_type shift)
 
template<typename IteratorT , typename SentinelT >
auto insert (const_iterator pos, IteratorT begin, SentinelT end) -> iterator
 

Static Public Member Functions

static vector acquire (T *memory, size_type count)
 

Public Attributes

T * _first = nullptr
 
T * _last = nullptr
 
T * _sentinel = nullptr
 

The documentation for this class was generated from the following files: