pub struct FieldConditionBuilder<'a, T> { /* private fields */ }Expand description
Builder for field-based conditions
§Example
use condition_matcher::{FieldConditionBuilder, Matchable, MatchableDerive, RuleMatcher, MatcherMode, Matcher};
#[derive(MatchableDerive, PartialEq)]
struct User {
age: u32,
}
let condition = FieldConditionBuilder::<User>::new("age").gte(&18u32);
let mut matcher = RuleMatcher::new(MatcherMode::AND);
matcher.add_condition(condition);
let user = User { age: 25 };
assert!(matcher.matches(&user));Implementations§
Source§impl<'a, T: Matchable> FieldConditionBuilder<'a, T>
impl<'a, T: Matchable> FieldConditionBuilder<'a, T>
Sourcepub fn not_equals(self, value: &'a dyn Any) -> Condition<'a, T>
pub fn not_equals(self, value: &'a dyn Any) -> Condition<'a, T>
Field not equals value
Sourcepub fn contains(self, value: &'a dyn Any) -> Condition<'a, T>
pub fn contains(self, value: &'a dyn Any) -> Condition<'a, T>
Field contains substring (for string fields)
Sourcepub fn starts_with(self, value: &'a dyn Any) -> Condition<'a, T>
pub fn starts_with(self, value: &'a dyn Any) -> Condition<'a, T>
Field starts with prefix (for string fields)
Auto Trait Implementations§
impl<'a, T> Freeze for FieldConditionBuilder<'a, T>
impl<'a, T> RefUnwindSafe for FieldConditionBuilder<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for FieldConditionBuilder<'a, T>where
T: Send,
impl<'a, T> Sync for FieldConditionBuilder<'a, T>where
T: Sync,
impl<'a, T> Unpin for FieldConditionBuilder<'a, T>where
T: Unpin,
impl<'a, T> UnwindSafe for FieldConditionBuilder<'a, T>where
T: UnwindSafe,
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