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

#include <dynamic_table.h>

Collaboration diagram for Realm::DynamicTableFreeList< ALLOCATOR >:

Public Types

typedef ALLOCATOR::IT IT
 
typedef ALLOCATOR::ET ET
 
typedef ALLOCATOR::LT LT
 

Public Member Functions

 DynamicTableFreeList (DynamicTable< ALLOCATOR > &_table, int _owner, DynamicTableFreeList< ALLOCATOR > *_parent_list=nullptr)
 
void push_front (ET *entry)
 
void push_front (ET *head, ET *tail)
 
ETpop_front_underlock (void)
 
ETpop_front (void)
 
ETalloc_entry (void)
 
void free_entry (ET *entry)
 
void alloc_range (int requested, IT &first_id, IT &last_id)
 

Public Attributes

DynamicTable< ALLOCATOR > & table
 
DynamicTableFreeList< ALLOCATOR > * parent_list
 
int owner
 
LT lock
 
atomic< ET * > first_free
 
IT next_alloc
 

Member Typedef Documentation

◆ ET

template<typename ALLOCATOR >
typedef ALLOCATOR::ET Realm::DynamicTableFreeList< ALLOCATOR >::ET

◆ IT

template<typename ALLOCATOR >
typedef ALLOCATOR::IT Realm::DynamicTableFreeList< ALLOCATOR >::IT

◆ LT

template<typename ALLOCATOR >
typedef ALLOCATOR::LT Realm::DynamicTableFreeList< ALLOCATOR >::LT

Constructor & Destructor Documentation

◆ DynamicTableFreeList()

template<typename ALLOCATOR >
Realm::DynamicTableFreeList< ALLOCATOR >::DynamicTableFreeList ( DynamicTable< ALLOCATOR > &  _table,
int  _owner,
DynamicTableFreeList< ALLOCATOR > *  _parent_list = nullptr 
)

Member Function Documentation

◆ alloc_entry()

template<typename ALLOCATOR >
ET * Realm::DynamicTableFreeList< ALLOCATOR >::alloc_entry ( void  )

◆ alloc_range()

template<typename ALLOCATOR >
void Realm::DynamicTableFreeList< ALLOCATOR >::alloc_range ( int  requested,
IT first_id,
IT last_id 
)

◆ free_entry()

template<typename ALLOCATOR >
void Realm::DynamicTableFreeList< ALLOCATOR >::free_entry ( ET entry)

◆ pop_front()

template<typename ALLOCATOR >
ET * Realm::DynamicTableFreeList< ALLOCATOR >::pop_front ( void  )

◆ pop_front_underlock()

template<typename ALLOCATOR >
ET * Realm::DynamicTableFreeList< ALLOCATOR >::pop_front_underlock ( void  )

◆ push_front() [1/2]

template<typename ALLOCATOR >
void Realm::DynamicTableFreeList< ALLOCATOR >::push_front ( ET entry)

◆ push_front() [2/2]

template<typename ALLOCATOR >
void Realm::DynamicTableFreeList< ALLOCATOR >::push_front ( ET head,
ET tail 
)

Member Data Documentation

◆ first_free

template<typename ALLOCATOR >
atomic<ET *> Realm::DynamicTableFreeList< ALLOCATOR >::first_free

◆ lock

template<typename ALLOCATOR >
LT Realm::DynamicTableFreeList< ALLOCATOR >::lock

◆ next_alloc

template<typename ALLOCATOR >
IT Realm::DynamicTableFreeList< ALLOCATOR >::next_alloc

◆ owner

template<typename ALLOCATOR >
int Realm::DynamicTableFreeList< ALLOCATOR >::owner

◆ parent_list

template<typename ALLOCATOR >
DynamicTableFreeList<ALLOCATOR>* Realm::DynamicTableFreeList< ALLOCATOR >::parent_list

◆ table

template<typename ALLOCATOR >
DynamicTable<ALLOCATOR>& Realm::DynamicTableFreeList< ALLOCATOR >::table

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