23 #if defined (ONIXS_CONFLATEDUDP_ENABLE_TRACING) 69 virtual void release() = 0;
72 virtual void* allocate(
size_t) = 0;
75 virtual void deallocate(
void*) = 0;
77 #if defined (ONIXS_CONFLATEDUDP_ENABLE_TRACING) 78 virtual void trace(std::ostream&) = 0;
136 : pool_(&other.memoryPool())
158 const_reference x)
const 167 assert(NULL != pool_);
169 return static_cast<pointer
> 173 qty *
sizeof(value_type)
183 assert(NULL != pool_);
191 const value_type& obj)
193 new (block) value_type(obj);
207 static_cast<size_type
>(-1) /
270 ONIXS_CONFLATEDUDP_EXPORTED
273 size_t,
size_t,
size_t,
size_t);
MemoryPoolAllocator< Other > other
virtual void * allocate(size_t)=0
Allocates memory block of given size.
std::ptrdiff_t difference_type
void construct(pointer block, const value_type &obj)
const_pointer address(const_reference x) const
ONIXS_CONFLATEDUDP_EXPORTED MemoryPool * makeMemoryPool(size_t, size_t, size_t, size_t)
const Object * const_pointer
virtual ~MemoryPool()
Destruction is through descendants.
MemoryPoolAllocator(const MemoryPoolAllocator< Other > &other)
MemoryPoolAllocator(const MemoryPoolAllocator &other)
void deallocate(pointer block, size_type)
pointer allocate(size_type qty)
size_type max_size() const
bool operator==(const MemoryPoolAllocator< Object > &left, const MemoryPoolAllocator< OtherObject > &right)
#define ONIXS_CONFLATEDUDP_NAMESPACE_END
MemoryPoolAllocator(MemoryPool &memoryPool)
#define ONIXS_CONFLATEDUDP_EXPORTED_CLASS
void destroy(pointer obj)
const Object & const_reference
virtual void deallocate(void *)=0
Releases previously allocated memory block.
bool operator!=(const MemoryPoolAllocator< Object > &left, const MemoryPoolAllocator< OtherObject > &right)
#define ONIXS_CONFLATEDUDP_NAMESPACE_BEGIN
MemoryPool & memoryPool() const
pointer address(reference obj) const