pub enum ConditionExpr {
Single(Condition),
And(Vec<ConditionExpr>),
Or(Vec<ConditionExpr>),
Not(Box<ConditionExpr>),
Always,
Never,
}Expand description
A composite condition expression
Variants§
Single(Condition)
Single condition
And(Vec<ConditionExpr>)
Combine conditions with AND
Or(Vec<ConditionExpr>)
Combine conditions with OR
Not(Box<ConditionExpr>)
Negate a condition
Always
Always true
Never
Always false
Implementations§
Source§impl ConditionExpr
impl ConditionExpr
Sourcepub fn and(conditions: Vec<ConditionExpr>) -> Self
pub fn and(conditions: Vec<ConditionExpr>) -> Self
Combine with AND
Sourcepub fn or(conditions: Vec<ConditionExpr>) -> Self
pub fn or(conditions: Vec<ConditionExpr>) -> Self
Combine with OR
Sourcepub fn negate(condition: ConditionExpr) -> Self
pub fn negate(condition: ConditionExpr) -> Self
Negate condition
Sourcepub fn evaluate(&self, context: &RuleContext) -> bool
pub fn evaluate(&self, context: &RuleContext) -> bool
Evaluate expression against context
Sourcepub fn condition_count(&self) -> usize
pub fn condition_count(&self) -> usize
Count the number of conditions
Trait Implementations§
Source§impl Clone for ConditionExpr
impl Clone for ConditionExpr
Source§fn clone(&self) -> ConditionExpr
fn clone(&self) -> ConditionExpr
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 ConditionExpr
impl Debug for ConditionExpr
Source§impl PartialEq for ConditionExpr
impl PartialEq for ConditionExpr
Source§fn eq(&self, other: &ConditionExpr) -> bool
fn eq(&self, other: &ConditionExpr) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ConditionExpr
Auto Trait Implementations§
impl Freeze for ConditionExpr
impl RefUnwindSafe for ConditionExpr
impl Send for ConditionExpr
impl Sync for ConditionExpr
impl Unpin for ConditionExpr
impl UnsafeUnpin for ConditionExpr
impl UnwindSafe for ConditionExpr
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