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

#include <sparsity_impl.h>

Collaboration diagram for Realm::SparsityMapImplWrapper:

Classes

struct  UnsubscribeMessage
 

Public Member Functions

 SparsityMapImplWrapper (void)
 
 SparsityMapImplWrapper (SparsityWrapperCommunicator *_communicator, bool _report_leaks)
 
 ~SparsityMapImplWrapper (void)
 
void init (ID _me, unsigned _init_owner)
 
void recycle (void)
 
void unsubscribe (NodeID node)
 
void add_references (unsigned count, Event wait_on=Event::NO_EVENT)
 
void remove_references (unsigned count, Event wait_on)
 
template<int N, typename T >
SparsityMapImpl< N, T > * get_or_create (SparsityMap< N, T > me)
 

Static Public Member Functions

static ID make_id (const SparsityMapImplWrapper &dummy, int owner, ID::IDType index)
 

Public Attributes

ID me {(ID::IDType)-1}
 
unsigned owner {std::numeric_limits<unsigned>::max()}
 
SparsityMapImplWrappernext_free {nullptr}
 
atomic< DynamicTemplates::TagTypetype_tag {0}
 
atomic< void * > map_impl {nullptr}
 
atomic< unsigned > references {0}
 
NodeSet subscribers
 
std::unique_ptr< SparsityWrapperCommunicatorcommunicator
 
bool report_leaks {false}
 
std::function< void(void *)> map_deleter
 

Static Public Attributes

static constexpr ID::ID_Types ID_TYPE = ID::ID_SPARSITY
 
static ActiveMessageHandlerReg< UnsubscribeMessageunsubscribe_message_handler_reg
 

Constructor & Destructor Documentation

◆ SparsityMapImplWrapper() [1/2]

Realm::SparsityMapImplWrapper::SparsityMapImplWrapper ( void  )

◆ SparsityMapImplWrapper() [2/2]

Realm::SparsityMapImplWrapper::SparsityMapImplWrapper ( SparsityWrapperCommunicator _communicator,
bool  _report_leaks 
)

◆ ~SparsityMapImplWrapper()

Realm::SparsityMapImplWrapper::~SparsityMapImplWrapper ( void  )

Member Function Documentation

◆ add_references()

void Realm::SparsityMapImplWrapper::add_references ( unsigned  count,
Event  wait_on = Event::NO_EVENT 
)

◆ get_or_create()

template<int N, typename T >
SparsityMapImpl< N, T > * Realm::SparsityMapImplWrapper::get_or_create ( SparsityMap< N, T >  me)

◆ init()

void Realm::SparsityMapImplWrapper::init ( ID  _me,
unsigned  _init_owner 
)

◆ make_id()

static ID Realm::SparsityMapImplWrapper::make_id ( const SparsityMapImplWrapper dummy,
int  owner,
ID::IDType  index 
)
inlinestatic

◆ recycle()

void Realm::SparsityMapImplWrapper::recycle ( void  )

◆ remove_references()

void Realm::SparsityMapImplWrapper::remove_references ( unsigned  count,
Event  wait_on 
)

◆ unsubscribe()

void Realm::SparsityMapImplWrapper::unsubscribe ( NodeID  node)

Member Data Documentation

◆ communicator

std::unique_ptr<SparsityWrapperCommunicator> Realm::SparsityMapImplWrapper::communicator

◆ ID_TYPE

constexpr ID::ID_Types Realm::SparsityMapImplWrapper::ID_TYPE = ID::ID_SPARSITY
staticconstexpr

◆ map_deleter

std::function<void(void *)> Realm::SparsityMapImplWrapper::map_deleter

◆ map_impl

atomic<void *> Realm::SparsityMapImplWrapper::map_impl {nullptr}

◆ me

ID Realm::SparsityMapImplWrapper::me {(ID::IDType)-1}

◆ next_free

SparsityMapImplWrapper* Realm::SparsityMapImplWrapper::next_free {nullptr}

◆ owner

unsigned Realm::SparsityMapImplWrapper::owner {std::numeric_limits<unsigned>::max()}

◆ references

atomic<unsigned> Realm::SparsityMapImplWrapper::references {0}

◆ report_leaks

bool Realm::SparsityMapImplWrapper::report_leaks {false}

◆ subscribers

NodeSet Realm::SparsityMapImplWrapper::subscribers

◆ type_tag

atomic<DynamicTemplates::TagType> Realm::SparsityMapImplWrapper::type_tag {0}

◆ unsubscribe_message_handler_reg

ActiveMessageHandlerReg<UnsubscribeMessage> Realm::SparsityMapImplWrapper::unsubscribe_message_handler_reg
static

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