23 #if defined(ONIXS_CMESTREAMLINEDMDH_ENABLE_TRACING) 69 virtual void release() = 0;
72 virtual void* allocate(
size_t) = 0;
75 virtual void deallocate(
void*) = 0;
77 #if defined(ONIXS_CMESTREAMLINEDMDH_ENABLE_TRACING) 78 virtual void trace(std::ostream&) = 0;
136 : pool_(&other.memoryPool())
158 const_reference x)
const 169 return static_cast<pointer
> 173 qty *
sizeof(value_type)
191 const value_type& obj)
193 new (block) value_type(obj);
206 static_cast<size_type
>(-1) /
272 size_t,
size_t,
size_t,
size_t);
MemoryPoolAllocator(const MemoryPoolAllocator &other)
const Object * const_pointer
bool operator==(const MemoryPoolAllocator< Object > &left, const MemoryPoolAllocator< OtherObject > &right)
void destroy(pointer obj)
std::ptrdiff_t difference_type
virtual void deallocate(void *)=0
Releases previously allocated memory block.
MemoryPoolAllocator< Other > other
MemoryPool & memoryPool() const
virtual void * allocate(size_t)=0
Allocates memory block of given size.
MemoryPoolAllocator(MemoryPool &memoryPool)
pointer address(reference obj) const
const_pointer address(const_reference x) const
void construct(pointer block, const value_type &obj)
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_END
#define ONIXS_CMESTREAMLINEDMDH_EXPORTED
#define ONIXS_CMESTREAMLINEDMDH_EXPORTED_CLASS
void deallocate(pointer block, size_type)
MemoryPool * makeMemoryPool(size_t, size_t, size_t, size_t)
Constructs memory pool instance according to given configuration.
virtual ~MemoryPool()
Destruction is through descendants.
#define ONIXS_CMESTREAMLINEDMDH_NULLPTR
MemoryPoolAllocator(const MemoryPoolAllocator< Other > &other)
bool operator!=(const MemoryPoolAllocator< Object > &left, const MemoryPoolAllocator< OtherObject > &right)
const Object & const_reference
size_type max_size() const
MemoryPool()
Default initialization.
pointer allocate(size_type qty)
#define ONIXS_CMESTREAMLINEDMDH_NAMESPACE_BEGIN