5#ifndef __IRR_ALLOCATOR_H_INCLUDED__
6#define __IRR_ALLOCATOR_H_INCLUDED__
18#ifdef DEBUG_CLIENTBLOCK
19#undef DEBUG_CLIENTBLOCK
20#define DEBUG_CLIENTBLOCK new
47 new ((
void*)ptr) T(e);
60 return operator new(cnt);
82 return (T*)
operator new(cnt*
sizeof(T));
94 new ((
void*)ptr) T(e);
106#ifdef DEBUG_CLIENTBLOCK
107#undef DEBUG_CLIENTBLOCK
108#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)
Fast allocator, only to be used in containers inside the same memory heap.
void construct(T *ptr, const T &e)
Construct an element.
void destruct(T *ptr)
Destruct an element.
void deallocate(T *ptr)
Deallocate memory for an array of objects.
T * allocate(size_t cnt)
Allocate memory for an array of objects.
Very simple allocator implementation, containers using it can be used across dll boundaries.
void construct(T *ptr, const T &e)
Construct an element.
void destruct(T *ptr)
Destruct an element.
void deallocate(T *ptr)
Deallocate memory for an array of objects.
T * allocate(size_t cnt)
Allocate memory for an array of objects.
virtual void internal_delete(void *ptr)
virtual void * internal_new(size_t cnt)
virtual ~irrAllocator()
Destructor.
Basic classes such as vectors, planes, arrays, lists, and so on can be found in this namespace.
eAllocStrategy
defines an allocation strategy
Everything in the Irrlicht Engine can be found in this namespace.