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

#include <transfer.h>

Inheritance diagram for Realm::IDIndexedFieldsIterator< N, T >:
Collaboration diagram for Realm::IDIndexedFieldsIterator< N, T >:

Public Member Functions

 IDIndexedFieldsIterator (const int _dim_order[N], const std::vector< FieldID > &_fields, size_t _field_size, RegionInstanceImpl *_inst_impl, const IndexSpace< N, T > &_is, ReplicatedHeap *_repl_heap)
 
virtual ~IDIndexedFieldsIterator (void)
 
Event request_metadata (void) override
 
void reset (void) override
 
template<typename S >
bool serialize (S &serializer) const
 
bool get_addresses (AddressList &addrlist, const InstanceLayoutPieceBase *&nonaffine) override
 
size_t step (size_t max_bytes, TransferIterator::AddressInfo &info, unsigned flags, bool tentative=false) override
 
size_t step_custom (size_t max_bytes, TransferIterator::AddressInfoCustom &info, bool tentative=false) override
 
void confirm_step (void) override
 
void cancel_step (void) override
 
- Public Member Functions inherited from Realm::TransferIteratorBase< N, T >
 TransferIteratorBase (RegionInstanceImpl *_inst_impl, const int _dim_order[N])
 
virtual bool done (void)
 
virtual size_t get_base_offset (void) const
 
- Public Member Functions inherited from Realm::TransferIterator
virtual ~TransferIterator (void)
 
virtual void set_indirect_input_port (XferDes *xd, int port_idx, TransferIterator *inner_iter)
 
virtual size_t get_address_size (void) const
 

Static Public Member Functions

template<typename S >
static TransferIteratordeserialize_new (S &deserializer)
 
- Static Public Member Functions inherited from Realm::TransferIterator
template<typename S >
static TransferIteratordeserialize_new (S &deserializer)
 

Static Public Attributes

static Serialization::PolymorphicSerdezSubclass< TransferIterator, IDIndexedFieldsIterator< N, T > > serdez_subclass
 

Protected Member Functions

 IDIndexedFieldsIterator (void)
 
void reset_internal (void)
 
bool get_next_rect (Rect< N, T > &r, FieldID &fid, size_t &offset, size_t &fsize) override
 
- Protected Member Functions inherited from Realm::TransferIteratorBase< N, T >
 TransferIteratorBase (void)
 

Protected Attributes

IndexSpace< N, T > is
 
SparsityMapImpl< N, T > * sparsity_impl {nullptr}
 
IndexSpaceIterator< N, T > iter
 
bool iter_init_deferred {false}
 
std::vector< FieldIDfields
 
const InstanceLayout< N, T > * inst_layout {nullptr}
 
size_t field_size {0}
 
size_t rect_idx {0}
 
ReplicatedHeaprepl_heap {nullptr}
 
FieldBlockfield_block {nullptr}
 
- Protected Attributes inherited from Realm::TransferIteratorBase< N, T >
bool have_rect
 
bool is_done
 
Rect< N, T > cur_rect
 
FieldID cur_field_id
 
size_t cur_field_offset
 
size_t cur_field_size
 
Point< N, T > cur_point
 
Point< N, T > next_point
 
bool carry
 
RegionInstanceImplinst_impl
 
size_t inst_offset
 
bool tentative_valid
 
int dim_order [N]
 

Additional Inherited Members

- Public Types inherited from Realm::TransferIterator
enum  {
  SRC_PARTIAL_OK = (1 << 0) , SRC_LINES_OK = (1 << 1) , SRC_PLANES_OK = (1 << 2) , SRC_FLAGMASK = 0xff ,
  DST_PARTIAL_OK = (1 << 8) , DST_LINES_OK = (1 << 9) , DST_PLANES_OK = (1 << 10) , DST_FLAGMASK = 0xff00 ,
  PARTIAL_OK = SRC_PARTIAL_OK | DST_PARTIAL_OK , LINES_OK = SRC_LINES_OK | DST_LINES_OK , PLANES_OK = SRC_PLANES_OK | DST_PLANES_OK
}
 

Constructor & Destructor Documentation

◆ IDIndexedFieldsIterator() [1/2]

template<int N, typename T >
Realm::IDIndexedFieldsIterator< N, T >::IDIndexedFieldsIterator ( void  )
protected

◆ IDIndexedFieldsIterator() [2/2]

template<int N, typename T >
Realm::IDIndexedFieldsIterator< N, T >::IDIndexedFieldsIterator ( const int  _dim_order[N],
const std::vector< FieldID > &  _fields,
size_t  _field_size,
RegionInstanceImpl _inst_impl,
const IndexSpace< N, T > &  _is,
ReplicatedHeap _repl_heap 
)

◆ ~IDIndexedFieldsIterator()

template<int N, typename T >
virtual Realm::IDIndexedFieldsIterator< N, T >::~IDIndexedFieldsIterator ( void  )
virtual

Member Function Documentation

◆ cancel_step()

template<int N, typename T >
void Realm::IDIndexedFieldsIterator< N, T >::cancel_step ( void  )
overridevirtual

◆ confirm_step()

template<int N, typename T >
void Realm::IDIndexedFieldsIterator< N, T >::confirm_step ( void  )
overridevirtual

◆ deserialize_new()

template<int N, typename T >
template<typename S >
static TransferIterator * Realm::IDIndexedFieldsIterator< N, T >::deserialize_new ( S &  deserializer)
static

◆ get_addresses()

template<int N, typename T >
bool Realm::IDIndexedFieldsIterator< N, T >::get_addresses ( AddressList addrlist,
const InstanceLayoutPieceBase *&  nonaffine 
)
overridevirtual

◆ get_next_rect()

template<int N, typename T >
bool Realm::IDIndexedFieldsIterator< N, T >::get_next_rect ( Rect< N, T > &  r,
FieldID fid,
size_t &  offset,
size_t &  fsize 
)
overrideprotectedvirtual

◆ request_metadata()

template<int N, typename T >
Event Realm::IDIndexedFieldsIterator< N, T >::request_metadata ( void  )
overridevirtual

◆ reset()

template<int N, typename T >
void Realm::IDIndexedFieldsIterator< N, T >::reset ( void  )
overridevirtual

◆ reset_internal()

template<int N, typename T >
void Realm::IDIndexedFieldsIterator< N, T >::reset_internal ( void  )
protected

◆ serialize()

template<int N, typename T >
template<typename S >
bool Realm::IDIndexedFieldsIterator< N, T >::serialize ( S &  serializer) const

◆ step()

template<int N, typename T >
size_t Realm::IDIndexedFieldsIterator< N, T >::step ( size_t  max_bytes,
TransferIterator::AddressInfo info,
unsigned  flags,
bool  tentative = false 
)
overridevirtual

◆ step_custom()

template<int N, typename T >
size_t Realm::IDIndexedFieldsIterator< N, T >::step_custom ( size_t  max_bytes,
TransferIterator::AddressInfoCustom info,
bool  tentative = false 
)
overridevirtual

Member Data Documentation

◆ field_block

template<int N, typename T >
FieldBlock* Realm::IDIndexedFieldsIterator< N, T >::field_block {nullptr}
protected

◆ field_size

template<int N, typename T >
size_t Realm::IDIndexedFieldsIterator< N, T >::field_size {0}
protected

◆ fields

template<int N, typename T >
std::vector<FieldID> Realm::IDIndexedFieldsIterator< N, T >::fields
protected

◆ inst_layout

template<int N, typename T >
const InstanceLayout<N, T>* Realm::IDIndexedFieldsIterator< N, T >::inst_layout {nullptr}
protected

◆ is

template<int N, typename T >
IndexSpace<N, T> Realm::IDIndexedFieldsIterator< N, T >::is
protected

◆ iter

template<int N, typename T >
IndexSpaceIterator<N, T> Realm::IDIndexedFieldsIterator< N, T >::iter
protected

◆ iter_init_deferred

template<int N, typename T >
bool Realm::IDIndexedFieldsIterator< N, T >::iter_init_deferred {false}
protected

◆ rect_idx

template<int N, typename T >
size_t Realm::IDIndexedFieldsIterator< N, T >::rect_idx {0}
protected

◆ repl_heap

template<int N, typename T >
ReplicatedHeap* Realm::IDIndexedFieldsIterator< N, T >::repl_heap {nullptr}
protected

◆ serdez_subclass

template<int N, typename T >
Serialization::PolymorphicSerdezSubclass<TransferIterator, IDIndexedFieldsIterator<N, T> > Realm::IDIndexedFieldsIterator< N, T >::serdez_subclass
static

◆ sparsity_impl

template<int N, typename T >
SparsityMapImpl<N, T>* Realm::IDIndexedFieldsIterator< N, T >::sparsity_impl {nullptr}
protected

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