Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Transactional::fast_vector< T, max_fixed_size > Class Template Reference
Inheritance diagram for Transactional::fast_vector< T, max_fixed_size >:
Inheritance graph
[legend]

Public Types

using reference = T &
 
using const_reference = const T &
 
using size_type = size_t
 
using pointer = T *
 
using const_pointer = const T *
 
using iterator = pointer
 
using const_iterator = const_pointer
 

Public Member Functions

 fast_vector (size_type size)
 
 fast_vector (const fast_vector &r)
 
 fast_vector (fast_vector &&r)
 
fast_vectoroperator= (const fast_vector &r)
 
fast_vectoroperator= (fast_vector &&r)
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
size_type size () const noexcept
 
bool empty () const noexcept
 
reference operator[] (size_type n)
 
const_reference operator[] (size_type n) const
 
const_reference at (size_type n) const
 
reference at (size_type n)
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void push_back (const T &x)
 
void push_back (T &&x)
 
template<class... Args>
void emplace_back (Args &&...args)
 
iterator erase (const_iterator position)
 
void clear ()
 
void resize (size_type sz)
 
void shrink_to_fit ()
 

Private Types

enum  : size_type { HAS_STD_VECTOR = (size_type)-1 }
 

Private Member Functions

void destroy ()
 
bool is_fixed () const noexcept
 
void clear_fixed () noexcept
 
void move_fixed_to_var (size_type new_size)
 

Private Attributes

size_type m_size
 
union {
   T   m_array [max_fixed_size]
 
   std::vector< T >   m_vector
 
}; 
 

Detailed Description

template<typename T, int max_fixed_size = 4>
class Transactional::fast_vector< T, max_fixed_size >

Definition at line 126 of file allocator.h.


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

Generated for KAME4 by  doxygen 1.8.3