MAGE  v0.171.0
Matthias Advanced Game Engine
mage::StaticMemoryBuffer< T, Capacity > Class Template Reference

#include <memory_buffer.hpp>

Public Types

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

Public Member Functions

 StaticMemoryBuffer ()
 
 StaticMemoryBuffer (const StaticMemoryBuffer &buffer)=default
 
 StaticMemoryBuffer (StaticMemoryBuffer &&buffer) noexcept=default
 
 ~StaticMemoryBuffer ()=default
 
StaticMemoryBufferoperator= (const StaticMemoryBuffer &buffer)=default
 
StaticMemoryBufferoperator= (StaticMemoryBuffer &&buffer) noexcept=default
 
reference at (size_type index)
 
const_reference at (size_type index) const
 
reference operator[] (size_type index) noexcept
 
const_reference operator[] (size_type index) const noexcept
 
reference front () noexcept
 
const_reference front () const noexcept
 
reference back () noexcept
 
const_reference back () const noexcept
 
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
 
bool full () const noexcept
 
size_type size () const noexcept
 
size_type max_size () const noexcept
 
size_type capacity () const noexcept
 
void resize (size_type count) noexcept
 
void push_back (const T &value)
 
void push_back (T &&value)
 
template<typename... Args>
void emplace_back (Args &&... args)
 
void swap (StaticMemoryBuffer &other) noexcept
 

Private Attributes

std::size_t m_size
 
std::array< T, Capacity > m_data
 

Member Typedef Documentation

◆ const_iterator

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::const_iterator = const T*

◆ const_pointer

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::const_pointer = const value_type*

◆ const_reference

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::const_reference = const value_type&

◆ const_reverse_iterator

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::const_reverse_iterator = std::reverse_iterator< const_iterator >

◆ difference_type

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::difference_type = std::ptrdiff_t

◆ iterator

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::iterator = T*

◆ pointer

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::pointer = value_type*

◆ reference

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::reference = value_type&

◆ reverse_iterator

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::reverse_iterator = std::reverse_iterator< iterator >

◆ size_type

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::size_type = std::size_t

◆ value_type

template<typename T, std::size_t Capacity>
using mage::StaticMemoryBuffer< T, Capacity >::value_type = T

Constructor & Destructor Documentation

◆ StaticMemoryBuffer() [1/3]

template<typename T, std::size_t Capacity>
mage::StaticMemoryBuffer< T, Capacity >::StaticMemoryBuffer ( )

◆ StaticMemoryBuffer() [2/3]

template<typename T, std::size_t Capacity>
mage::StaticMemoryBuffer< T, Capacity >::StaticMemoryBuffer ( const StaticMemoryBuffer< T, Capacity > &  buffer)
default

◆ StaticMemoryBuffer() [3/3]

template<typename T, std::size_t Capacity>
mage::StaticMemoryBuffer< T, Capacity >::StaticMemoryBuffer ( StaticMemoryBuffer< T, Capacity > &&  buffer)
defaultnoexcept

◆ ~StaticMemoryBuffer()

template<typename T, std::size_t Capacity>
mage::StaticMemoryBuffer< T, Capacity >::~StaticMemoryBuffer ( )
default

Member Function Documentation

◆ at() [1/2]

template<typename T, std::size_t Capacity>
reference mage::StaticMemoryBuffer< T, Capacity >::at ( size_type  index)

◆ at() [2/2]

template<typename T, std::size_t Capacity>
const_reference mage::StaticMemoryBuffer< T, Capacity >::at ( size_type  index) const

◆ back() [1/2]

template<typename T, std::size_t Capacity>
reference mage::StaticMemoryBuffer< T, Capacity >::back ( )
noexcept

◆ back() [2/2]

template<typename T, std::size_t Capacity>
const_reference mage::StaticMemoryBuffer< T, Capacity >::back ( ) const
noexcept

◆ begin() [1/2]

template<typename T, std::size_t Capacity>
iterator mage::StaticMemoryBuffer< T, Capacity >::begin ( )
noexcept

◆ begin() [2/2]

template<typename T, std::size_t Capacity>
const_iterator mage::StaticMemoryBuffer< T, Capacity >::begin ( ) const
noexcept

◆ capacity()

template<typename T, std::size_t Capacity>
size_type mage::StaticMemoryBuffer< T, Capacity >::capacity ( ) const
noexcept

◆ cbegin()

template<typename T, std::size_t Capacity>
const_iterator mage::StaticMemoryBuffer< T, Capacity >::cbegin ( ) const
noexcept

◆ cend()

template<typename T, std::size_t Capacity>
const_iterator mage::StaticMemoryBuffer< T, Capacity >::cend ( ) const
noexcept

◆ crbegin()

template<typename T, std::size_t Capacity>
const_reverse_iterator mage::StaticMemoryBuffer< T, Capacity >::crbegin ( ) const
noexcept

◆ crend()

template<typename T, std::size_t Capacity>
const_reverse_iterator mage::StaticMemoryBuffer< T, Capacity >::crend ( ) const
noexcept

◆ data() [1/2]

template<typename T, std::size_t Capacity>
T* mage::StaticMemoryBuffer< T, Capacity >::data ( )
noexcept

◆ data() [2/2]

template<typename T, std::size_t Capacity>
const T* mage::StaticMemoryBuffer< T, Capacity >::data ( ) const
noexcept

◆ emplace_back()

template<typename T, std::size_t Capacity>
template<typename... Args>
void mage::StaticMemoryBuffer< T, Capacity >::emplace_back ( Args &&...  args)

◆ empty()

template<typename T, std::size_t Capacity>
bool mage::StaticMemoryBuffer< T, Capacity >::empty ( ) const
noexcept

◆ end() [1/2]

template<typename T, std::size_t Capacity>
iterator mage::StaticMemoryBuffer< T, Capacity >::end ( )
noexcept

◆ end() [2/2]

template<typename T, std::size_t Capacity>
const_iterator mage::StaticMemoryBuffer< T, Capacity >::end ( ) const
noexcept

◆ front() [1/2]

template<typename T, std::size_t Capacity>
reference mage::StaticMemoryBuffer< T, Capacity >::front ( )
noexcept

◆ front() [2/2]

template<typename T, std::size_t Capacity>
const_reference mage::StaticMemoryBuffer< T, Capacity >::front ( ) const
noexcept

◆ full()

template<typename T, std::size_t Capacity>
bool mage::StaticMemoryBuffer< T, Capacity >::full ( ) const
noexcept

◆ max_size()

template<typename T, std::size_t Capacity>
size_type mage::StaticMemoryBuffer< T, Capacity >::max_size ( ) const
noexcept

◆ operator=() [1/2]

template<typename T, std::size_t Capacity>
StaticMemoryBuffer& mage::StaticMemoryBuffer< T, Capacity >::operator= ( const StaticMemoryBuffer< T, Capacity > &  buffer)
default

◆ operator=() [2/2]

template<typename T, std::size_t Capacity>
StaticMemoryBuffer& mage::StaticMemoryBuffer< T, Capacity >::operator= ( StaticMemoryBuffer< T, Capacity > &&  buffer)
defaultnoexcept

◆ operator[]() [1/2]

template<typename T, std::size_t Capacity>
reference mage::StaticMemoryBuffer< T, Capacity >::operator[] ( size_type  index)
noexcept

◆ operator[]() [2/2]

template<typename T, std::size_t Capacity>
const_reference mage::StaticMemoryBuffer< T, Capacity >::operator[] ( size_type  index) const
noexcept

◆ push_back() [1/2]

template<typename T, std::size_t Capacity>
void mage::StaticMemoryBuffer< T, Capacity >::push_back ( const T &  value)

◆ push_back() [2/2]

template<typename T, std::size_t Capacity>
void mage::StaticMemoryBuffer< T, Capacity >::push_back ( T &&  value)

◆ rbegin() [1/2]

template<typename T, std::size_t Capacity>
reverse_iterator mage::StaticMemoryBuffer< T, Capacity >::rbegin ( )
noexcept

◆ rbegin() [2/2]

template<typename T, std::size_t Capacity>
const_reverse_iterator mage::StaticMemoryBuffer< T, Capacity >::rbegin ( ) const
noexcept

◆ rend() [1/2]

template<typename T, std::size_t Capacity>
reverse_iterator mage::StaticMemoryBuffer< T, Capacity >::rend ( )
noexcept

◆ rend() [2/2]

template<typename T, std::size_t Capacity>
const_reverse_iterator mage::StaticMemoryBuffer< T, Capacity >::rend ( ) const
noexcept

◆ resize()

template<typename T, std::size_t Capacity>
void mage::StaticMemoryBuffer< T, Capacity >::resize ( size_type  count)
noexcept

◆ size()

template<typename T, std::size_t Capacity>
size_type mage::StaticMemoryBuffer< T, Capacity >::size ( ) const
noexcept

◆ swap()

template<typename T, std::size_t Capacity>
void mage::StaticMemoryBuffer< T, Capacity >::swap ( StaticMemoryBuffer< T, Capacity > &  other)
noexcept

Member Data Documentation

◆ m_data

template<typename T, std::size_t Capacity>
std::array< T, Capacity > mage::StaticMemoryBuffer< T, Capacity >::m_data
private

◆ m_size

template<typename T, std::size_t Capacity>
std::size_t mage::StaticMemoryBuffer< T, Capacity >::m_size
private