mn::container::fixed_vector_storage< T, TAllocator, TCapacity > Struct Template Reference

#include <mn_fixed_vector.hpp>

+ Inheritance diagram for mn::container::fixed_vector_storage< T, TAllocator, TCapacity >:

Public Types

using allocator_type = TAllocator
 
using self_type = fixed_vector_storage< T, TAllocator, TCapacity >
 
using value_type = T
 
using pointer = value_type *
 
using reference = value_type &
 
using size_type = mn::size_t
 
using etype_t = typename aligned_as< value_type >::res
 

Public Member Functions

 fixed_vector_storage (const TAllocator &allocator)
 
void reallocate (size_type newCapacity, size_type oldSize)
 
void reallocate_discard_old (size_type newCapacity)
 
void destroy (pointer ptr, size_type n)
 
bool invariant () const
 

Public Attributes

pointer m_begin
 
pointer m_end
 
allocator_type m_data [(TCapacity *sizeof(T))/sizeof(etype_t)]
 
pointer m_capacityEnd
 
TAllocator m_allocator
 
size_type m_max_size
 

Member Typedef Documentation

◆ allocator_type

template<typename T , class TAllocator , int TCapacity>
using mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::allocator_type = TAllocator

◆ etype_t

template<typename T , class TAllocator , int TCapacity>
using mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::etype_t = typename aligned_as<value_type>::res

◆ pointer

template<typename T , class TAllocator , int TCapacity>
using mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::pointer = value_type*

◆ reference

template<typename T , class TAllocator , int TCapacity>
using mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::reference = value_type&

◆ self_type

template<typename T , class TAllocator , int TCapacity>
using mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::self_type = fixed_vector_storage<T, TAllocator, TCapacity>

◆ size_type

template<typename T , class TAllocator , int TCapacity>
using mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::size_type = mn::size_t

◆ value_type

template<typename T , class TAllocator , int TCapacity>
using mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::value_type = T

Constructor & Destructor Documentation

◆ fixed_vector_storage()

template<typename T , class TAllocator , int TCapacity>
mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::fixed_vector_storage ( const TAllocator &  allocator)
inlineexplicit

Member Function Documentation

◆ destroy()

template<typename T , class TAllocator , int TCapacity>
void mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::destroy ( pointer  ptr,
size_type  n 
)
inline

◆ invariant()

template<typename T , class TAllocator , int TCapacity>
bool mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::invariant ( ) const
inline

◆ reallocate()

template<typename T , class TAllocator , int TCapacity>
void mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::reallocate ( size_type  newCapacity,
size_type  oldSize 
)
inline

◆ reallocate_discard_old()

template<typename T , class TAllocator , int TCapacity>
void mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::reallocate_discard_old ( size_type  newCapacity)
inline

Member Data Documentation

◆ m_allocator

template<typename T , class TAllocator , int TCapacity>
TAllocator mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::m_allocator

◆ m_begin

template<typename T , class TAllocator , int TCapacity>
pointer mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::m_begin

◆ m_capacityEnd

template<typename T , class TAllocator , int TCapacity>
pointer mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::m_capacityEnd

◆ m_data

template<typename T , class TAllocator , int TCapacity>
allocator_type mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::m_data[(TCapacity *sizeof(T))/sizeof(etype_t)]

◆ m_end

template<typename T , class TAllocator , int TCapacity>
pointer mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::m_end

◆ m_max_size

template<typename T , class TAllocator , int TCapacity>
size_type mn::container::fixed_vector_storage< T, TAllocator, TCapacity >::m_max_size

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