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

#include <address_list.h>

Collaboration diagram for Realm::AddressList:

Public Member Functions

 AddressList (size_t _max_entries=1000)
 
bool append_entry (int dims, size_t contig_bytes, size_t total_bytes, size_t base_offset, const std::unordered_map< int, std::pair< size_t, size_t > > &count_strides, bool wrap_around=false)
 
size_t * begin_entry (int max_dim, bool wrap_around=true)
 
void commit_entry (int act_dim, size_t bytes)
 
void attach_field_block (const FieldBlock *_field_block)
 
size_t bytes_pending () const
 
size_t full_field_bytes ()
 

Static Public Member Functions

static size_t pack_entry_header (size_t contig_bytes, int dims)
 

Static Public Attributes

static constexpr size_t SLOT_HEADER = 0
 
static constexpr size_t SLOT_BASE = 1
 
static constexpr size_t DIM_SLOTS = 2
 
static constexpr size_t DIM_MASK = 0xF
 
static constexpr size_t CONTIG_SHIFT = 4
 

Protected Member Functions

const size_t * read_entry ()
 

Protected Attributes

const FieldBlockfield_block {nullptr}
 
size_t total_bytes {0}
 
size_t write_pointer {0}
 
size_t read_pointer {0}
 
size_t max_entries {0}
 
std::vector< size_t > data
 

Friends

class AddressListCursor
 

Constructor & Destructor Documentation

◆ AddressList()

Realm::AddressList::AddressList ( size_t  _max_entries = 1000)

Member Function Documentation

◆ append_entry()

bool Realm::AddressList::append_entry ( int  dims,
size_t  contig_bytes,
size_t  total_bytes,
size_t  base_offset,
const std::unordered_map< int, std::pair< size_t, size_t > > &  count_strides,
bool  wrap_around = false 
)

◆ attach_field_block()

void Realm::AddressList::attach_field_block ( const FieldBlock _field_block)

◆ begin_entry()

size_t * Realm::AddressList::begin_entry ( int  max_dim,
bool  wrap_around = true 
)

◆ bytes_pending()

size_t Realm::AddressList::bytes_pending ( ) const

◆ commit_entry()

void Realm::AddressList::commit_entry ( int  act_dim,
size_t  bytes 
)

◆ full_field_bytes()

size_t Realm::AddressList::full_field_bytes ( )

◆ pack_entry_header()

static size_t Realm::AddressList::pack_entry_header ( size_t  contig_bytes,
int  dims 
)
static

◆ read_entry()

const size_t * Realm::AddressList::read_entry ( )
protected

Friends And Related Symbol Documentation

◆ AddressListCursor

friend class AddressListCursor
friend

Member Data Documentation

◆ CONTIG_SHIFT

constexpr size_t Realm::AddressList::CONTIG_SHIFT = 4
staticconstexpr

◆ data

std::vector<size_t> Realm::AddressList::data
protected

◆ DIM_MASK

constexpr size_t Realm::AddressList::DIM_MASK = 0xF
staticconstexpr

◆ DIM_SLOTS

constexpr size_t Realm::AddressList::DIM_SLOTS = 2
staticconstexpr

◆ field_block

const FieldBlock* Realm::AddressList::field_block {nullptr}
protected

◆ max_entries

size_t Realm::AddressList::max_entries {0}
protected

◆ read_pointer

size_t Realm::AddressList::read_pointer {0}
protected

◆ SLOT_BASE

constexpr size_t Realm::AddressList::SLOT_BASE = 1
staticconstexpr

◆ SLOT_HEADER

constexpr size_t Realm::AddressList::SLOT_HEADER = 0
staticconstexpr

◆ total_bytes

size_t Realm::AddressList::total_bytes {0}
protected

◆ write_pointer

size_t Realm::AddressList::write_pointer {0}
protected

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