Better way to configure entry allocator.

This commit is contained in:
Branimir Karadžić 2015-02-13 09:43:46 -08:00
parent 3fb7221df2
commit 0ff1d7df0c
2 changed files with 15 additions and 5 deletions

View file

@ -22,7 +22,17 @@ namespace entry
static bool s_exit = false;
static bx::FileReaderI* s_fileReader = NULL;
static bx::FileWriterI* s_fileWriter = NULL;
static ENTRY_CONFIG_ALLOCATOR s_allocator;
extern bx::ReallocatorI* getDefaultAllocator();
static bx::ReallocatorI* s_allocator = getDefaultAllocator();
#if ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR
bx::ReallocatorI* getDefaultAllocator()
{
static bx::CrtAllocator s_allocator;
return &s_allocator;
}
#endif // ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR
bool setOrToggle(uint32_t& _flags, const char* _name, uint32_t _bit, int _first, int _argc, char const* const* _argv)
{
@ -455,7 +465,7 @@ namespace entry
bx::ReallocatorI* getAllocator()
{
return &s_allocator;
return s_allocator;
}
void* TinyStlAllocator::static_allocate(size_t _bytes)

View file

@ -39,9 +39,9 @@
# error "Both ENTRY_DEFAULT_WIDTH and ENTRY_DEFAULT_HEIGHT must be defined."
#endif // ENTRY_DEFAULT_WIDTH
#ifndef ENTRY_CONFIG_ALLOCATOR
# define ENTRY_CONFIG_ALLOCATOR bx::CrtAllocator
#endif // ENTRY_CONFIG_ALLOCATOR
#ifndef ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR
# define ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR 1
#endif // ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR
#define ENTRY_IMPLEMENT_EVENT(_class, _type) \
_class(WindowHandle _handle) : Event(_type, _handle) {}