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 bool s_exit = false;
static bx::FileReaderI* s_fileReader = NULL; static bx::FileReaderI* s_fileReader = NULL;
static bx::FileWriterI* s_fileWriter = 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) 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() bx::ReallocatorI* getAllocator()
{ {
return &s_allocator; return s_allocator;
} }
void* TinyStlAllocator::static_allocate(size_t _bytes) 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." # error "Both ENTRY_DEFAULT_WIDTH and ENTRY_DEFAULT_HEIGHT must be defined."
#endif // ENTRY_DEFAULT_WIDTH #endif // ENTRY_DEFAULT_WIDTH
#ifndef ENTRY_CONFIG_ALLOCATOR #ifndef ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR
# define ENTRY_CONFIG_ALLOCATOR bx::CrtAllocator # define ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR 1
#endif // ENTRY_CONFIG_ALLOCATOR #endif // ENTRY_CONFIG_IMPLEMENT_DEFAULT_ALLOCATOR
#define ENTRY_IMPLEMENT_EVENT(_class, _type) \ #define ENTRY_IMPLEMENT_EVENT(_class, _type) \
_class(WindowHandle _handle) : Event(_type, _handle) {} _class(WindowHandle _handle) : Event(_type, _handle) {}