libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
A very simple custom allocator that allocates a contiguous block of uninitialised items on the heap. More...
#include <memory_buffer.hpp>
Public Types | |
enum | { stride =sizeof(element_type) } |
typedef OST | os_traits |
typedef os_traits::exception_type | exception_type |
typedef El | element_type |
The type of items to allocate, but not initialise. More... | |
typedef buff_info_t::second_type | size_type |
typedef unsigned char const * | const_iterator |
typedef unsigned char * | iterator |
Public Member Functions | |
BOOST_MPL_ASSERT ((boost::mpl::greater< boost::mpl::int_< stride >, boost::mpl::int_< 0 >>)) | |
memory_buffer (size_type const num_objs) noexcept(false) FORCE_INLINE | |
~memory_buffer () noexcept(true) FORCE_INLINE | |
memory_buffer (memory_buffer const &)=delete | |
memory_buffer (memory_buffer &&)=delete | |
void | operator= (memory_buffer const &)=delete |
void | operator= (memory_buffer &&)=delete |
const_iterator | data () const noexcept(true) FORCE_INLINE |
iterator | data () noexcept(true) FORCE_INLINE |
size_type __fastcall | max_size () const noexcept(true) FORCE_INLINE |
Friends | |
tostream &__fastcall | operator<< (tostream &os, memory_buffer const &t) noexcept(false) |
A very simple custom allocator that allocates a contiguous block of uninitialised items on the heap.
Note that the items allocated are guaranteed not to be initialised.
Definition at line 43 of file memory_buffer.hpp.
typedef unsigned char const* jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::const_iterator |
Definition at line 54 of file memory_buffer.hpp.
typedef El jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::element_type |
The type of items to allocate, but not initialise.
Definition at line 47 of file memory_buffer.hpp.
typedef os_traits::exception_type jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::exception_type |
Definition at line 46 of file memory_buffer.hpp.
typedef unsigned char* jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::iterator |
Definition at line 55 of file memory_buffer.hpp.
typedef OST jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::os_traits |
Definition at line 45 of file memory_buffer.hpp.
typedef buff_info_t::second_type jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::size_type |
Definition at line 53 of file memory_buffer.hpp.
anonymous enum |
Enumerator | |
---|---|
stride | The sizeof(element_type) each item, specifically in bytes. |
Definition at line 57 of file memory_buffer.hpp.
|
inlineexplicitnoexcept |
num_objs | The number of the items to be allocated. |
Definition at line 66 of file memory_buffer.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::stride.
|
inlinenoexcept |
Definition at line 81 of file memory_buffer.hpp.
|
delete |
|
delete |
jmmcg::LIBJMMCG_VER_NAMESPACE::heap::memory_buffer< OST, El >::BOOST_MPL_ASSERT | ( | (boost::mpl::greater< boost::mpl::int_< stride >, boost::mpl::int_< 0 >>) | ) |
|
inlinenoexcept |
Definition at line 93 of file memory_buffer.hpp.
|
inlinenoexcept |
Definition at line 99 of file memory_buffer.hpp.
|
inlinenoexcept |
Definition at line 106 of file memory_buffer.hpp.
|
delete |
|
delete |
|
friend |
Definition at line 113 of file memory_buffer.hpp.