pub enum PredicateKind {
Or(Vec<Predicate>),
And(Vec<Predicate>),
Not(Box<Predicate>),
Compare(Comparison, Box<Predicate>, Box<Predicate>),
In(Box<Predicate>, Vec<Predicate>),
Element(String),
Literal(PredicateLiteral),
Arith(BinOpKind, Box<Predicate>, Box<Predicate>),
Expr,
}Expand description
The kinds of predicate node.
Variants§
Or(Vec<Predicate>)
p || q || …: true when any operand is.
And(Vec<Predicate>)
p && q && …: true when every operand is.
Not(Box<Predicate>)
!p: true when the operand is not.
Compare(Comparison, Box<Predicate>, Box<Predicate>)
a OP b for one of the six comparisons.
In(Box<Predicate>, Vec<Predicate>)
a in [v1, v2, …]: true when a equals any item.
Element(String)
{name}: the value the tuple, or the scope it was drawn in,
binds to name.
Literal(PredicateLiteral)
A literal value.
Arith(BinOpKind, Box<Predicate>, Box<Predicate>)
a OP b for one of the arithmetic operators + - * / % **,
evaluated as a Polydat expression from its text.
Expr
Any other Polydat expression, evaluated from its text.
Trait Implementations§
Source§impl Clone for PredicateKind
impl Clone for PredicateKind
Source§impl Debug for PredicateKind
impl Debug for PredicateKind
Source§impl PartialEq for PredicateKind
impl PartialEq for PredicateKind
impl StructuralPartialEq for PredicateKind
Auto Trait Implementations§
impl Freeze for PredicateKind
impl RefUnwindSafe for PredicateKind
impl Send for PredicateKind
impl Sync for PredicateKind
impl Unpin for PredicateKind
impl UnsafeUnpin for PredicateKind
impl UnwindSafe for PredicateKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more