MAGE  v0.171.0
Matthias Advanced Game Engine
mage::DynamicMemoryBuffer< T > 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

 DynamicMemoryBuffer (size_type capacity=0u)
 
 DynamicMemoryBuffer (const DynamicMemoryBuffer &buffer)=delete
 
 DynamicMemoryBuffer (DynamicMemoryBuffer &&buffer) noexcept=default
 
 ~DynamicMemoryBuffer ()=default
 
DynamicMemoryBufferoperator= (const DynamicMemoryBuffer &buffer)=delete
 
DynamicMemoryBufferoperator= (DynamicMemoryBuffer &&buffer)=delete
 
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 reserve (size_type new_capacity)
 
void resize (size_type count)
 
void push_back (const T &value)
 
void push_back (T &&value)
 
template<typename... Args>
void emplace_back (Args &&... args)
 
void swap (DynamicMemoryBuffer &other) noexcept
 

Private Attributes

std::size_t m_size
 
DynamicArray< T > m_data
 

Member Typedef Documentation

◆ const_iterator

template<typename T>
using mage::DynamicMemoryBuffer< T >::const_iterator = const T*

◆ const_pointer

template<typename T>
using mage::DynamicMemoryBuffer< T >::const_pointer = const value_type*

◆ const_reference

template<typename T>
using mage::DynamicMemoryBuffer< T >::const_reference = const value_type&

◆ const_reverse_iterator

template<typename T>
using mage::DynamicMemoryBuffer< T >::const_reverse_iterator = std::reverse_iterator< const_iterator >

◆ difference_type

template<typename T>
using mage::DynamicMemoryBuffer< T >::difference_type = std::ptrdiff_t

◆ iterator

template<typename T>
using mage::DynamicMemoryBuffer< T >::iterator = T*

◆ pointer

template<typename T>
using mage::DynamicMemoryBuffer< T >::pointer = value_type*

◆ reference

template<typename T>
using mage::DynamicMemoryBuffer< T >::reference = value_type&

◆ reverse_iterator

template<typename T>
using mage::DynamicMemoryBuffer< T >::reverse_iterator = std::reverse_iterator< iterator >

◆ size_type

template<typename T>
using mage::DynamicMemoryBuffer< T >::size_type = std::size_t

◆ value_type

template<typename T>
using mage::DynamicMemoryBuffer< T >::value_type = T

Constructor & Destructor Documentation

◆ DynamicMemoryBuffer() [1/3]

template<typename T>
mage::DynamicMemoryBuffer< T >::DynamicMemoryBuffer ( size_type  capacity = 0u)
explicit

◆ DynamicMemoryBuffer() [2/3]

template<typename T>
mage::DynamicMemoryBuffer< T >::DynamicMemoryBuffer ( const DynamicMemoryBuffer< T > &  buffer)
delete

◆ DynamicMemoryBuffer() [3/3]

template<typename T>
mage::DynamicMemoryBuffer< T >::DynamicMemoryBuffer ( DynamicMemoryBuffer< T > &&  buffer)
defaultnoexcept

◆ ~DynamicMemoryBuffer()

template<typename T>
mage::DynamicMemoryBuffer< T >::~DynamicMemoryBuffer ( )
default

Member Function Documentation

◆ at() [1/2]

template<typename T>
reference mage::DynamicMemoryBuffer< T >::at ( size_type  index)

◆ at() [2/2]

template<typename T>
const_reference mage::DynamicMemoryBuffer< T >::at ( size_type  index) const

◆ back() [1/2]

template<typename T>
reference mage::DynamicMemoryBuffer< T >::back ( )
noexcept

◆ back() [2/2]

template<typename T>
const_reference mage::DynamicMemoryBuffer< T >::back ( ) const
noexcept

◆ begin() [1/2]

template<typename T>
iterator mage::DynamicMemoryBuffer< T >::begin ( )
noexcept

◆ begin() [2/2]

template<typename T>
const_iterator mage::DynamicMemoryBuffer< T >::begin ( ) const
noexcept

◆ capacity()

template<typename T>
size_type mage::DynamicMemoryBuffer< T >::capacity ( ) const
noexcept

◆ cbegin()

template<typename T>
const_iterator mage::DynamicMemoryBuffer< T >::cbegin ( ) const
noexcept

◆ cend()

template<typename T>
const_iterator mage::DynamicMemoryBuffer< T >::cend ( ) const
noexcept

◆ crbegin()

template<typename T>
const_reverse_iterator mage::DynamicMemoryBuffer< T >::crbegin ( ) const
noexcept

◆ crend()

template<typename T>
const_reverse_iterator mage::DynamicMemoryBuffer< T >::crend ( ) const
noexcept

◆ data() [1/2]

template<typename T>
T* mage::DynamicMemoryBuffer< T >::data ( )
noexcept

◆ data() [2/2]

template<typename T>
const T* mage::DynamicMemoryBuffer< T >::data ( ) const
noexcept

◆ emplace_back()

template<typename T>
template<typename... Args>
void mage::DynamicMemoryBuffer< T >::emplace_back ( Args &&...  args)

◆ empty()

template<typename T>
bool mage::DynamicMemoryBuffer< T >::empty ( ) const
noexcept

◆ end() [1/2]

template<typename T>
iterator mage::DynamicMemoryBuffer< T >::end ( )
noexcept

◆ end() [2/2]

template<typename T>
const_iterator mage::DynamicMemoryBuffer< T >::end ( ) const
noexcept

◆ front() [1/2]

template<typename T>
reference mage::DynamicMemoryBuffer< T >::front ( )
noexcept

◆ front() [2/2]

template<typename T>
const_reference mage::DynamicMemoryBuffer< T >::front ( ) const
noexcept

◆ full()

template<typename T>
bool mage::DynamicMemoryBuffer< T >::full ( ) const
noexcept

◆ max_size()

template<typename T>
size_type mage::DynamicMemoryBuffer< T >::max_size ( ) const
noexcept

◆ operator=() [1/2]

template<typename T>
DynamicMemoryBuffer& mage::DynamicMemoryBuffer< T >::operator= ( const DynamicMemoryBuffer< T > &  buffer)
delete

◆ operator=() [2/2]

template<typename T>
DynamicMemoryBuffer& mage::DynamicMemoryBuffer< T >::operator= ( DynamicMemoryBuffer< T > &&  buffer)
delete

◆ operator[]() [1/2]

template<typename T>
reference mage::DynamicMemoryBuffer< T >::operator[] ( size_type  index)
noexcept

◆ operator[]() [2/2]

template<typename T>
const_reference mage::DynamicMemoryBuffer< T >::operator[] ( size_type  index) const
noexcept

◆ push_back() [1/2]

template<typename T>
void mage::DynamicMemoryBuffer< T >::push_back ( const T &  value)

◆ push_back() [2/2]

template<typename T>
void mage::DynamicMemoryBuffer< T >::push_back ( T &&  value)

◆ rbegin() [1/2]

template<typename T>
reverse_iterator mage::DynamicMemoryBuffer< T >::rbegin ( )
noexcept

◆ rbegin() [2/2]

template<typename T>
const_reverse_iterator mage::DynamicMemoryBuffer< T >::rbegin ( ) const
noexcept

◆ rend() [1/2]

template<typename T>
reverse_iterator mage::DynamicMemoryBuffer< T >::rend ( )
noexcept

◆ rend() [2/2]

template<typename T>
const_reverse_iterator mage::DynamicMemoryBuffer< T >::rend ( ) const
noexcept

◆ reserve()

template<typename T>
void mage::DynamicMemoryBuffer< T >::reserve ( size_type  new_capacity)

◆ resize()

template<typename T>
void mage::DynamicMemoryBuffer< T >::resize ( size_type  count)

◆ size()

template<typename T>
size_type mage::DynamicMemoryBuffer< T >::size ( ) const
noexcept

◆ swap()

template<typename T>
void mage::DynamicMemoryBuffer< T >::swap ( DynamicMemoryBuffer< T > &  other)
noexcept

Member Data Documentation

◆ m_data

template<typename T>
DynamicArray< T > mage::DynamicMemoryBuffer< T >::m_data
private

◆ m_size

template<typename T>
std::size_t mage::DynamicMemoryBuffer< T >::m_size
private