Legion Runtime
|
#include <legion.h>
Public Member Functions | |
Predicate (const Predicate &p) | |
Predicate (Predicate &&p) noexcept | |
Predicate (bool value) | |
Predicate & | operator= (const Predicate &p) |
Predicate & | operator= (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 |
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.