Legion Runtime
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Legion::Predicate Class Reference

#include <legion.h>

Inheritance diagram for Legion::Predicate:
Legion::Unserializable< Predicate >

Public Member Functions

 Predicate (const Predicate &p)
 
 Predicate (Predicate &&p) noexcept
 
 Predicate (bool value)
 
Predicateoperator= (const Predicate &p)
 
Predicateoperator= (Predicate &&p) noexcept
 
bool operator== (const Predicate &p) const
 
bool operator< (const Predicate &p) const
 
bool operator!= (const Predicate &p) const
 
bool exists (void) const
 
- Public Member Functions inherited from Legion::Unserializable< Predicate >
size_t legion_buffer_size (void)
 
size_t legion_serialize (void *buffer)
 
size_t legion_deserialize (const void *buffer)
 

Static Public Attributes

static const Predicate TRUE_PRED
 
static const Predicate FALSE_PRED
 

Protected Member Functions

 Predicate (Internal::PredicateImpl *impl)
 

Protected Attributes

FRIEND_ALL_RUNTIME_CLASSES Internal::PredicateImpl * impl
 

Detailed Description

Predicate values are used for performing speculative execution within an application. They are lightweight handles that can be passed around by value and stored in data structures. However, they should not escape the context of the task in which they are created as they will be garbage collected by the runtime. Except for predicates with constant value, all other predicates should be created by the runtime.


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