Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::ChunkedRecycler< T, CHUNK_SIZE > Class Template Reference

#include <gasnetex_internal.h>

Collaboration diagram for Realm::ChunkedRecycler< T, CHUNK_SIZE >:

Classes

struct  Chunk
 
struct  WithPtr
 

Public Member Functions

 ChunkedRecycler ()
 
 ~ChunkedRecycler ()
 
T * alloc_obj ()
 
void free_obj (T *obj)
 

Protected Attributes

Mutex mutex
 
uintptr_t free_head
 
uintptr_t * free_tail
 
Chunkchunks_head
 
atomic< size_t > cur_alloc
 
size_t cur_capacity
 
size_t max_alloc
 

Constructor & Destructor Documentation

◆ ChunkedRecycler()

template<typename T , unsigned CHUNK_SIZE>
Realm::ChunkedRecycler< T, CHUNK_SIZE >::ChunkedRecycler ( )

◆ ~ChunkedRecycler()

template<typename T , unsigned CHUNK_SIZE>
Realm::ChunkedRecycler< T, CHUNK_SIZE >::~ChunkedRecycler ( )

Member Function Documentation

◆ alloc_obj()

template<typename T , unsigned CHUNK_SIZE>
T * Realm::ChunkedRecycler< T, CHUNK_SIZE >::alloc_obj ( )

◆ free_obj()

template<typename T , unsigned CHUNK_SIZE>
void Realm::ChunkedRecycler< T, CHUNK_SIZE >::free_obj ( T *  obj)

Member Data Documentation

◆ chunks_head

template<typename T , unsigned CHUNK_SIZE>
Chunk* Realm::ChunkedRecycler< T, CHUNK_SIZE >::chunks_head
protected

◆ cur_alloc

template<typename T , unsigned CHUNK_SIZE>
atomic<size_t> Realm::ChunkedRecycler< T, CHUNK_SIZE >::cur_alloc
protected

◆ cur_capacity

template<typename T , unsigned CHUNK_SIZE>
size_t Realm::ChunkedRecycler< T, CHUNK_SIZE >::cur_capacity
protected

◆ free_head

template<typename T , unsigned CHUNK_SIZE>
uintptr_t Realm::ChunkedRecycler< T, CHUNK_SIZE >::free_head
protected

◆ free_tail

template<typename T , unsigned CHUNK_SIZE>
uintptr_t* Realm::ChunkedRecycler< T, CHUNK_SIZE >::free_tail
protected

◆ max_alloc

template<typename T , unsigned CHUNK_SIZE>
size_t Realm::ChunkedRecycler< T, CHUNK_SIZE >::max_alloc
protected

◆ mutex

template<typename T , unsigned CHUNK_SIZE>
Mutex Realm::ChunkedRecycler< T, CHUNK_SIZE >::mutex
protected

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