23 #ifndef ELM_ALLOC_STACKALLOCATOR_H_
24 #define ELM_ALLOC_STACKALLOCATOR_H_
26 #include <elm/types.h>
27 #include <elm/assert.h>
28 #include <elm/alloc/DefaultAllocator.h>
29 #include <elm/PreIterator.h>
40 inline void free(
void *block) { }
65 inline bool ended(
void)
const {
return !cur; }
Definition: StackAllocator.h:55
struct chunk_t * next
Definition: StackAllocator.h:56
ChunkIter(const ChunkIter &i)
Definition: StackAllocator.h:63
Definition: PreIterator.h:29
char * mark_t
Definition: StackAllocator.h:44
StackAllocator(t::size size=4096)
Definition: alloc_StackAllocator.cpp:55
virtual ~StackAllocator(void)
Definition: alloc_StackAllocator.cpp:63
Definition: StackAllocator.h:34
uint32 size
Definition: int.h:41
struct elm::StackAllocator::chunk_t chunk_t
virtual void * chunkFilled(t::size size)
Definition: alloc_StackAllocator.cpp:92
Definition: DefaultAllocator.h:31
void free(void *block)
Definition: StackAllocator.h:40
mark_t mark(void)
Definition: alloc_StackAllocator.cpp:142
void * allocate(t::size size)
Definition: alloc_StackAllocator.cpp:75
t::size chunkSize(void) const
Definition: StackAllocator.h:72
ChunkIter & operator=(const ChunkIter &i)
Definition: StackAllocator.h:64
bool ended(void) const
Definition: StackAllocator.h:65
ChunkIter(const StackAllocator &a)
Definition: StackAllocator.h:62
chunk_t * item(void) const
Definition: StackAllocator.h:66
static StackAllocator DEFAULT
Definition: StackAllocator.h:36
void next(void)
Definition: StackAllocator.h:67
void release(mark_t mark)
Definition: alloc_StackAllocator.cpp:151
T * allocate(int n=1)
Definition: StackAllocator.h:50
Definition: StackAllocator.h:60
char buffer[0]
Definition: StackAllocator.h:57
void clear(void)
Definition: alloc_StackAllocator.cpp:109
void newChunk(void)
Definition: alloc_StackAllocator.cpp:121