BlockArrayAllocator< SIZE, EXPONENT, NO_FREE, SUPPORT_ITERATOR > Class Template Reference

#include <arrayallocator.h>

Inheritance diagram for BlockArrayAllocator< SIZE, EXPONENT, NO_FREE, SUPPORT_ITERATOR >:

Detailed Description

template<Int SIZE, Int EXPONENT = BLOCKARRAY_DEFAULT_SIZE_EXPONENT, Bool NO_FREE = false, Bool SUPPORT_ITERATOR = false>
class maxon::BlockArrayAllocator< SIZE, EXPONENT, NO_FREE, SUPPORT_ITERATOR >

BlockArray allocator which only allocates and frees entries of SIZE bytes.

Note
The entries are guaranteed to keep their address.
Template Parameters
SIZEThe size of an entry in bytes.
EXPONENTExponent for the BlockArray.

Additional Inherited Members

- Public Types inherited from ArrayAllocator< SIZE, BlockArraySelector< BLOCKARRAY_DEFAULT_SIZE_EXPONENT, BLOCKARRAYFLAGS::NOINSERTERASE >, false, false, false >
using ValueType = ArrayAllocatorValueType< SIZE >
 
using ArrayType = typename ARRAYSELECTOR::template Type< ValueType >
 
using IsArrayAllocator = std::true_type
 
using Iterator = typename ArrayType::Iterator
 
using ConstIterator = typename ArrayType::ConstIterator
 
- Public Member Functions inherited from ArrayAllocator< SIZE, BlockArraySelector< BLOCKARRAY_DEFAULT_SIZE_EXPONENT, BLOCKARRAYFLAGS::NOINSERTERASE >, false, false, false >
 ArrayAllocator ()
 
 ArrayAllocator (ArrayAllocator &&src)
 
Int ComputeArraySize (Int currentSize, Int increment, Int minChunkSize)
 
void * Alloc (Int64 s, MAXON_SOURCE_LOCATION_DECLARATION)
 
void * Realloc (void *, Int64, MAXON_SOURCE_LOCATION_DECLARATION)
 
void Free (T *&p)
 
Bool IsCompatibleWithDefaultAllocator (void *p) const
 
ArrayType & GetArray ()
 
const ArrayType & GetArray () const
 
Bool HasFreedEntries () const
 
Bool DeleteAll ()
 
Iterator Begin ()
 
ConstIterator Begin () const
 
Iterator End ()
 
ConstIterator End () const
 
- Static Public Attributes inherited from ArrayAllocator< SIZE, BlockArraySelector< BLOCKARRAY_DEFAULT_SIZE_EXPONENT, BLOCKARRAYFLAGS::NOINSERTERASE >, false, false, false >
static constexpr Bool SUPPORTS_ITERATOR