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

#include <mpool.h>

Public Member Functions

 VMPool (std::string name_, bool leak_check_, size_t max_obj_size_, size_t alignment_, size_t objs_per_chunk_=128, size_t init_num_objs_=256, 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)
 
 ~VMPool ()
 
void * get (size_t size)
 
bool expand (size_t ext_objs)
 

Static Public Member Functions

static void put (void *buf)
 

Constructor & Destructor Documentation

◆ VMPool()

Realm::UCP::VMPool::VMPool ( std::string  name_,
bool  leak_check_,
size_t  max_obj_size_,
size_t  alignment_,
size_t  objs_per_chunk_ = 128,
size_t  init_num_objs_ = 256,
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 
)

◆ ~VMPool()

Realm::UCP::VMPool::~VMPool ( )

Member Function Documentation

◆ expand()

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

◆ get()

void * Realm::UCP::VMPool::get ( size_t  size)

◆ put()

static void Realm::UCP::VMPool::put ( void *  buf)
static

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