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§fn clone(&self) -> PredicateKind
fn clone(&self) -> PredicateKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more