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

#include <inst_layout.h>

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

Public Member Functions

 InstanceLayout (void)
 
virtual ~InstanceLayout (void)
 
virtual InstanceLayoutGenericclone (void) const
 
virtual void relocate (size_t base_offset)
 
virtual void print (std::ostream &os) const
 
virtual REALM_INTERNAL_API_EXTERNAL_LINKAGE void compile_lookup_program (PieceLookup::CompiledProgram &p) const
 
size_t calculate_offset (Point< N, T > p, FieldID fid) const
 
template<typename S >
bool serialize (S &serializer) const
 
- Public Member Functions inherited from Realm::InstanceLayoutGeneric
virtual ~InstanceLayoutGeneric (void)
 

Static Public Member Functions

template<typename S >
static InstanceLayoutGenericdeserialize_new (S &deserializer)
 
- Static Public Member Functions inherited from Realm::InstanceLayoutGeneric
template<typename S >
static InstanceLayoutGenericdeserialize_new (S &deserializer)
 
template<int N, typename T >
static InstanceLayoutGenericchoose_instance_layout (IndexSpace< N, T > is, const InstanceLayoutConstraints &ilc, const int dim_order[N])
 
template<int N, typename T >
static InstanceLayoutGenericchoose_instance_layout (IndexSpace< N, T > is, const std::vector< Rect< N, T > > &covering, const InstanceLayoutConstraints &ilc, const int dim_order[N])
 

Public Attributes

IndexSpace< N, T > space
 
std::vector< InstancePieceList< N, T > > piece_lists
 
- Public Attributes inherited from Realm::InstanceLayoutGeneric
size_t bytes_used
 
size_t alignment_reqd
 
FieldMap fields
 

Static Public Attributes

static Serialization::PolymorphicSerdezSubclass< InstanceLayoutGeneric, InstanceLayout< N, T > > serdez_subclass
 

Additional Inherited Members

- Public Types inherited from Realm::InstanceLayoutGeneric
using FieldMap = std::map< FieldID, FieldLayout >
 
- Protected Member Functions inherited from Realm::InstanceLayoutGeneric
 InstanceLayoutGeneric (void)
 

Detailed Description

template<int N, typename T = int>
class Realm::InstanceLayout< N, T >

A layout for an instance of a logical region.

Constructor & Destructor Documentation

◆ InstanceLayout()

template<int N, typename T = int>
Realm::InstanceLayout< N, T >::InstanceLayout ( void  )

◆ ~InstanceLayout()

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

Member Function Documentation

◆ calculate_offset()

template<int N, typename T = int>
size_t Realm::InstanceLayout< N, T >::calculate_offset ( Point< N, T >  p,
FieldID  fid 
) const

Compute the offset of the specified field for an element - this is generally much less efficient than using a layout-specific accessor.

Parameters
pPoint to calculate offset for.
fidFieldID of field to calculate offset for.
Returns
size_t Offset of field.

◆ clone()

template<int N, typename T = int>
virtual InstanceLayoutGeneric * Realm::InstanceLayout< N, T >::clone ( void  ) const
virtual

◆ compile_lookup_program()

template<int N, typename T = int>
virtual REALM_INTERNAL_API_EXTERNAL_LINKAGE void Realm::InstanceLayout< N, T >::compile_lookup_program ( PieceLookup::CompiledProgram p) const
virtual

◆ deserialize_new()

template<int N, typename T = int>
template<typename S >
static InstanceLayoutGeneric * Realm::InstanceLayout< N, T >::deserialize_new ( S &  deserializer)
static

◆ print()

template<int N, typename T = int>
virtual void Realm::InstanceLayout< N, T >::print ( std::ostream &  os) const
virtual

◆ relocate()

template<int N, typename T = int>
virtual void Realm::InstanceLayout< N, T >::relocate ( size_t  base_offset)
virtual

Adjust offsets of pieces to start from 'base_offset'.

Parameters
base_offsetOffset to start from.

Implements Realm::InstanceLayoutGeneric.

◆ serialize()

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

Member Data Documentation

◆ piece_lists

template<int N, typename T = int>
std::vector<InstancePieceList<N, T> > Realm::InstanceLayout< N, T >::piece_lists

◆ serdez_subclass

template<int N, typename T = int>
Serialization::PolymorphicSerdezSubclass<InstanceLayoutGeneric, InstanceLayout<N, T> > Realm::InstanceLayout< N, T >::serdez_subclass
static

◆ space

template<int N, typename T = int>
IndexSpace<N, T> Realm::InstanceLayout< N, T >::space

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