Legion Runtime
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Legion::FieldConstraint Class Reference

#include <constraints.h>

Inheritance diagram for Legion::FieldConstraint:
Legion::LayoutConstraint

Public Member Functions

 FieldConstraint (bool contiguous=false, bool inorder=false)
 
 FieldConstraint (const std::vector< FieldID > &field_set, bool contiguous, bool inorder=true)
 
 FieldConstraint (const std::set< FieldID > &field_set, bool contiguous, bool inorder=true)
 
bool operator== (const FieldConstraint &other) const
 
bool operator!= (const FieldConstraint &other) const
 
virtual LayoutConstraintKind get_constraint_kind (void) const override
 
virtual FieldConstraint * as_field_constraint (void) override
 
virtual const FieldConstraint * as_field_constraint (void) const override
 
bool is_contiguous (void) const
 
bool is_inorder (void) const
 
const std::vector< FieldID > & get_field_set (void) const
 
bool entails (const FieldConstraint &other) const
 
bool conflicts (const FieldConstraint &other) const
 
void swap (FieldConstraint &rhs)
 
void serialize (Serializer &rez) const
 
void deserialize (Deserializer &derez)
 
- Public Member Functions inherited from Legion::LayoutConstraint
virtual SpecializedConstraint * as_specialized_constraint (void)
 
virtual MemoryConstraint * as_memory_constraint (void)
 
virtual OrderingConstraint * as_ordering_constraint (void)
 
virtual TilingConstraint * as_tiling_constraint (void)
 
virtual DimensionConstraint * as_dimension_constraint (void)
 
virtual AlignmentConstraint * as_alignment_constraint (void)
 
virtual OffsetConstraint * as_offset_constraint (void)
 
virtual PointerConstraint * as_pointer_constraint (void)
 
virtual PaddingConstraint * as_padding_constraint (void)
 
virtual const SpecializedConstraint * as_specialized_constraint (void) const
 
virtual const MemoryConstraint * as_memory_constraint (void) const
 
virtual const OrderingConstraint * as_ordering_constraint (void) const
 
virtual const TilingConstraint * as_tiling_constraint (void) const
 
virtual const DimensionConstraint * as_dimension_constraint (void) const
 
virtual const AlignmentConstraint * as_alignment_constraint (void) const
 
virtual const OffsetConstraint * as_offset_constraint (void) const
 
virtual const PointerConstraint * as_pointer_constraint (void) const
 
virtual const PaddingConstraint * as_padding_constraint (void) const
 

Public Attributes

std::vector< FieldID > field_set
 
bool contiguous
 
bool inorder
 

Static Public Attributes

static const LayoutConstraintKind constraint_kind = LEGION_FIELD_CONSTRAINT
 

Detailed Description

A field constraint controls the ordering of fields in the layout. Multiple field constraints can be specified an instance layout so that partial orders on fields can be established. Users can also say with the contiguous flag whether they want the fields to be contiguous in the physical instance layout.

Member Function Documentation

◆ as_field_constraint() [1/2]

virtual const FieldConstraint * Legion::FieldConstraint::as_field_constraint ( void  ) const
inlineoverridevirtual

Reimplemented from Legion::LayoutConstraint.

◆ as_field_constraint() [2/2]

virtual FieldConstraint * Legion::FieldConstraint::as_field_constraint ( void  )
inlineoverridevirtual

Reimplemented from Legion::LayoutConstraint.

◆ get_constraint_kind()

virtual LayoutConstraintKind Legion::FieldConstraint::get_constraint_kind ( void  ) const
inlineoverridevirtual

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