Legion Runtime
Loading...
Searching...
No Matches
predicate.h
Go to the documentation of this file.
1
/* Copyright 2026 Stanford University, NVIDIA Corporation
2
*
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
16
#ifndef __LEGION_PREDICATE_H__
17
#define __LEGION_PREDICATE_H__
18
24
#include "
legion/api/types.h
"
25
26
namespace
Legion
{
27
38
class
Predicate
:
public
Unserializable
{
39
public
:
40
static
const
Predicate
TRUE_PRED;
41
static
const
Predicate
FALSE_PRED;
42
public
:
43
Predicate
(
void
);
44
Predicate
(
const
Predicate
& p);
45
Predicate
(
Predicate
&& p)
noexcept
;
46
explicit
Predicate
(
bool
value);
47
~Predicate
(
void
);
48
protected
:
49
FRIEND_ALL_RUNTIME_CLASSES
50
Internal::PredicateImpl* impl;
51
// Only the runtime should be allowed to make these
52
explicit
Predicate
(Internal::PredicateImpl* impl);
53
public
:
54
Predicate
& operator=(
const
Predicate
& p);
55
Predicate
& operator=(
Predicate
&& p)
noexcept
;
56
inline
bool
operator==(
const
Predicate
& p)
const
;
57
inline
bool
operator<(
const
Predicate
& p)
const
;
58
inline
bool
operator!=(
const
Predicate
& p)
const
;
59
inline
bool
exists(
void
)
const
{
return
(impl !=
nullptr
); }
60
private
:
61
bool
const_value;
62
};
63
64
}
// namespace Legion
65
66
#include "legion/api/predicate.inl"
67
68
#endif
// __LEGION_PREDICATE_H__
Legion::Predicate
Definition
predicate.h:38
Legion::Unserializable
Definition
types.h:343
Legion
Definition
accessors.h:29
types.h
legion
api
predicate.h
Generated on Sat Oct 3 2026 02:56:22 for Legion Runtime by
1.9.8