![]() |
Realm
A distributed, event-based tasking library
|
#include <inst_layout.h>
Classes | |
| struct | FieldLayout |
Public Types | |
| using | FieldMap = std::map< FieldID, FieldLayout > |
Public Member Functions | |
| virtual | ~InstanceLayoutGeneric (void) |
| virtual InstanceLayoutGeneric * | clone (void) const =0 |
| virtual void | relocate (size_t adjust_amt)=0 |
| virtual void | print (std::ostream &os) const =0 |
| virtual REALM_INTERNAL_API_EXTERNAL_LINKAGE void | compile_lookup_program (PieceLookup::CompiledProgram &p) const =0 |
Static Public Member Functions | |
| template<typename S > | |
| static InstanceLayoutGeneric * | deserialize_new (S &deserializer) |
| template<int N, typename T > | |
| static InstanceLayoutGeneric * | choose_instance_layout (IndexSpace< N, T > is, const InstanceLayoutConstraints &ilc, const int dim_order[N]) |
| template<int N, typename T > | |
| static InstanceLayoutGeneric * | choose_instance_layout (IndexSpace< N, T > is, const std::vector< Rect< N, T > > &covering, const InstanceLayoutConstraints &ilc, const int dim_order[N]) |
Public Attributes | |
| size_t | bytes_used |
| size_t | alignment_reqd |
| FieldMap | fields |
Protected Member Functions | |
| InstanceLayoutGeneric (void) | |
Instance layouts are templated on the type of the IndexSpace used to index them, but they all inherit from a generic version.
| using Realm::InstanceLayoutGeneric::FieldMap = std::map<FieldID, FieldLayout> |
|
protected |
|
virtual |
|
static |
Create an affine layout using the bounds of 'is' (i.e. one piece) using the requested dimension ordering and respecting the field size/alignment constraints provided.
| is | Index space to use for layout creation. |
| ilc | Layout constraints to use for layout creation. |
| dim_order | Dimension ordering to use for layout creation. |
|
static |
Create a multi-affine layout using one piece for each rectangle in 'covering' using the requested dimension ordering and respecting the field size/alignment constraints provided.
| is | Index space to use for layout creation. |
| covering | Rectangles to use for layout creation. |
| ilc | Layout constraints to use for layout creation. |
| dim_order | Dimension ordering to use for layout creation. |
|
pure virtual |
Implemented in Realm::InstanceLayoutOpaque, and Realm::InstanceLayout< N, T >.
|
pure virtual |
Implemented in Realm::InstanceLayoutOpaque, and Realm::InstanceLayout< N, T >.
|
static |
|
pure virtual |
Implemented in Realm::InstanceLayoutOpaque, and Realm::InstanceLayout< N, T >.
|
pure virtual |
Adjusts offsets of all pieces by 'adjust_amt'
| adjust_amt |
Implemented in Realm::InstanceLayoutOpaque, and Realm::InstanceLayout< N, T >.
| size_t Realm::InstanceLayoutGeneric::alignment_reqd |
| size_t Realm::InstanceLayoutGeneric::bytes_used |
| FieldMap Realm::InstanceLayoutGeneric::fields |