![]() |
QxOrm 1.4.9
C++ Object Relational Mapping library
|
#include <new>#include <assert.h>#include <stdlib.h>#include "class_level_lock.h"#include "mem_pool_base.h"Go to the source code of this file.
Classes | |
| class | qx::memory::fixed_mem_pool< _Tp > |
Namespaces | |
| namespace | qx |
| Root namespace for all QxOrm library features. | |
| namespace | qx::memory |
| QxOrm library memory leak detection (by Wu Yongwei) | |
Macros | |
| #define | MEM_POOL_ALIGNMENT 4 |
| #define | DECLARE_FIXED_MEM_POOL(_Cls) |
| #define | DECLARE_FIXED_MEM_POOL__NOTHROW(_Cls) |
| #define | DECLARE_FIXED_MEM_POOL__THROW_NOCHECK(_Cls) |
Definition of a fixed-size memory pool template for structs/classes. This is a easy-to-use class template for pre-allocated memory pools. The client side needs to do the following things:
class _Cls) definitionsDefinition in file fixed_mem_pool.h.
| #define DECLARE_FIXED_MEM_POOL | ( | _Cls | ) |
Declares the normal (exceptionable) overload of operator new and operator delete.
| _Cls | class to use the fixed_mem_pool |
NULL, but requires more discipline on the programmer's side. Definition at line 267 of file fixed_mem_pool.h.
| #define DECLARE_FIXED_MEM_POOL__NOTHROW | ( | _Cls | ) |
Declares the non-exceptionable overload of operator new and operator delete.
| _Cls | class to use the fixed_mem_pool |
Definition at line 289 of file fixed_mem_pool.h.
| #define DECLARE_FIXED_MEM_POOL__THROW_NOCHECK | ( | _Cls | ) |
Declares the exceptionable, non-checking overload of operator new and operator delete.
N.B. Using this macro requires users to explicitly specialize fixed_mem_pool::bad_alloc_handler so that it shall never return false (it may throw exceptions, say, std::bad_alloc, or simply abort). Otherwise a segmentation fault might occur (instead of returning a NULL pointer).
| _Cls | class to use the fixed_mem_pool |
Definition at line 314 of file fixed_mem_pool.h.
| #define MEM_POOL_ALIGNMENT 4 |
Defines the alignment of memory blocks.
Definition at line 75 of file fixed_mem_pool.h.