My Project
Classes | Macros
static_mem_pool.h File Reference
#include <new>
#include <stdexcept>
#include <string>
#include <vector>
#include <assert.h>
#include <stddef.h>
#include "class_level_lock.h"
#include "mem_pool_base.h"
Include dependency graph for static_mem_pool.h:

Go to the source code of this file.

Classes

class  static_mem_pool_set
 
class  static_mem_pool< _Sz, _Gid >
 

Macros

#define __PRIVATE   private
 
#define _STATIC_MEM_POOL_TRACE(_Lck, _Msg)   ((void)0)
 
#define DECLARE_STATIC_MEM_POOL(_Cls)
 
#define DECLARE_STATIC_MEM_POOL__NOTHROW(_Cls)
 
#define DECLARE_STATIC_MEM_POOL_GROUPED(_Cls, _Gid)
 
#define DECLARE_STATIC_MEM_POOL_GROUPED__NOTHROW(_Cls, _Gid)
 
#define PREPARE_STATIC_MEM_POOL(_Cls)   std::cerr << "PREPARE_STATIC_MEM_POOL is obsolete!\n";
 
#define PREPARE_STATIC_MEM_POOL_GROUPED(_Cls, _Gid)   std::cerr << "PREPARE_STATIC_MEM_POOL_GROUPED is obsolete!\n";
 

Detailed Description

Header file for the ‘static’ memory pool.

Version
1.20, 2007/10/20
Author
Wu Yongwei

Macro Definition Documentation

◆ DECLARE_STATIC_MEM_POOL

#define DECLARE_STATIC_MEM_POOL (   _Cls)
Value:
public: \
static void* operator new(size_t __size) \
{ \
assert(__size == sizeof(_Cls)); \
void* __ptr; \
instance_known().allocate(); \
if (__ptr == NULL) \
throw std::bad_alloc(); \
return __ptr; \
} \
static void operator delete(void* __ptr) \
{ \
if (__ptr) \
static_mem_pool<sizeof(_Cls)>:: \
instance_known().deallocate(__ptr); \
}
Definition: static_mem_pool.h:112
void * allocate()
Definition: static_mem_pool.h:154

◆ DECLARE_STATIC_MEM_POOL__NOTHROW

#define DECLARE_STATIC_MEM_POOL__NOTHROW (   _Cls)
Value:
public: \
static void* operator new(size_t __size) throw() \
{ \
assert(__size == sizeof(_Cls)); \
instance_known().allocate(); \
} \
static void operator delete(void* __ptr) \
{ \
if (__ptr) \
static_mem_pool<sizeof(_Cls)>:: \
instance_known().deallocate(__ptr); \
}
Definition: static_mem_pool.h:112
void * allocate()
Definition: static_mem_pool.h:154

◆ DECLARE_STATIC_MEM_POOL_GROUPED

#define DECLARE_STATIC_MEM_POOL_GROUPED (   _Cls,
  _Gid 
)
Value:
public: \
static void* operator new(size_t __size) \
{ \
assert(__size == sizeof(_Cls)); \
void* __ptr; \
instance_known().allocate(); \
if (__ptr == NULL) \
throw std::bad_alloc(); \
return __ptr; \
} \
static void operator delete(void* __ptr) \
{ \
if (__ptr) \
static_mem_pool<sizeof(_Cls), (_Gid)>:: \
instance_known().deallocate(__ptr); \
}
Definition: static_mem_pool.h:112
void * allocate()
Definition: static_mem_pool.h:154

◆ DECLARE_STATIC_MEM_POOL_GROUPED__NOTHROW

#define DECLARE_STATIC_MEM_POOL_GROUPED__NOTHROW (   _Cls,
  _Gid 
)
Value:
public: \
static void* operator new(size_t __size) throw() \
{ \
assert(__size == sizeof(_Cls)); \
instance_known().allocate(); \
} \
static void operator delete(void* __ptr) \
{ \
if (__ptr) \
static_mem_pool<sizeof(_Cls), (_Gid)>:: \
instance_known().deallocate(__ptr); \
}
Definition: static_mem_pool.h:112
void * allocate()
Definition: static_mem_pool.h:154