Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::UCP::MPool Class Reference

#include <mpool.h>

Public Member Functions

 MPool (std::string name_, bool leak_check_, size_t obj_size_, size_t alignment_, size_t alignment_offset_, size_t objs_per_chunk_=1024, size_t init_num_objs_=1024, size_t max_objs_=UINT_MAX, size_t max_chunk_size_=UINT_MAX, double expand_factor_=1.5, chunk_alloc_t chunk_alloc_=&MPool::malloc_wrapper, void *chunk_alloc_arg_=nullptr, chunk_release_t chunk_release_=&MPool::free_wrapper, void *chunk_release_arg_=nullptr, obj_init_t obj_init_=nullptr, void *obj_init_arg_=nullptr, obj_cleanup_t obj_cleanup_=nullptr, void *obj_cleanup_arg_=nullptr)
 
MPooloperator= (const MPool &)=delete
 
 MPool (const MPool &)=delete
 
 ~MPool ()
 
void * get ()
 
bool expand (size_t ext_objs)
 
bool has (bool with_expand)
 

Static Public Member Functions

static void put (void *obj)
 
static void * malloc_wrapper (size_t size, void *arg)
 
static void free_wrapper (void *chunk, void *arg)
 

Constructor & Destructor Documentation

◆ MPool() [1/2]

Realm::UCP::MPool::MPool ( std::string  name_,
bool  leak_check_,
size_t  obj_size_,
size_t  alignment_,
size_t  alignment_offset_,
size_t  objs_per_chunk_ = 1024,
size_t  init_num_objs_ = 1024,
size_t  max_objs_ = UINT_MAX,
size_t  max_chunk_size_ = UINT_MAX,
double  expand_factor_ = 1.5,
chunk_alloc_t  chunk_alloc_ = &MPool::malloc_wrapper,
void *  chunk_alloc_arg_ = nullptr,
chunk_release_t  chunk_release_ = &MPool::free_wrapper,
void *  chunk_release_arg_ = nullptr,
obj_init_t  obj_init_ = nullptr,
void *  obj_init_arg_ = nullptr,
obj_cleanup_t  obj_cleanup_ = nullptr,
void *  obj_cleanup_arg_ = nullptr 
)

◆ MPool() [2/2]

Realm::UCP::MPool::MPool ( const MPool )
delete

◆ ~MPool()

Realm::UCP::MPool::~MPool ( )

Member Function Documentation

◆ expand()

bool Realm::UCP::MPool::expand ( size_t  ext_objs)

◆ free_wrapper()

static void Realm::UCP::MPool::free_wrapper ( void *  chunk,
void *  arg 
)
inlinestatic

◆ get()

void * Realm::UCP::MPool::get ( )

◆ has()

bool Realm::UCP::MPool::has ( bool  with_expand)

◆ malloc_wrapper()

static void * Realm::UCP::MPool::malloc_wrapper ( size_t  size,
void *  arg 
)
inlinestatic

◆ operator=()

MPool & Realm::UCP::MPool::operator= ( const MPool )
delete

◆ put()

static void Realm::UCP::MPool::put ( void *  obj)
static

The documentation for this class was generated from the following file: