Trait predicates::prelude::Predicate
[−]
[src]
pub trait Predicate<Item: ?Sized>: Display { fn eval(&self, variable: &Item) -> bool; }
Trait for generically evaluating a type against a dynamically created predicate function.
The exact meaning of eval
depends on the situation, but will usually
mean that the evaluated item is in some sort of pre-defined set. This is
different from Ord
and Eq
in that an item
will almost never be the
same type as the implementing Predicate
type.
Required Methods
fn eval(&self, variable: &Item) -> bool
Execute this Predicate
against variable
, returning the resulting
boolean.
Implementors
impl<Item> Predicate<Item> for BoxPredicate<Item> where
Item: ?Sized,impl<Item> Predicate<Item> for BooleanPredicate<Item>
impl<F, T> Predicate<T> for FnPredicate<F, T> where
F: Fn(&T) -> bool,impl<T> Predicate<T> for InPredicate<T> where
T: PartialEq + Debug,impl<T> Predicate<T> for OrdInPredicate<T> where
T: Ord + Debug,impl<T> Predicate<T> for HashableInPredicate<T> where
T: Hash + Eq + Debug,impl<M, Item> Predicate<Item> for NamePredicate<M, Item> where
M: Predicate<Item>,
Item: ?Sized,impl<T> Predicate<T> for EqPredicate<T> where
T: PartialEq + Debug,impl<T> Predicate<T> for OrdPredicate<T> where
T: PartialOrd + Debug,impl<M1, M2, Item> Predicate<Item> for AndPredicate<M1, M2, Item> where
M1: Predicate<Item>,
M2: Predicate<Item>,
Item: ?Sized,impl<M1, M2, Item> Predicate<Item> for OrPredicate<M1, M2, Item> where
M1: Predicate<Item>,
M2: Predicate<Item>,
Item: ?Sized,impl<M, Item> Predicate<Item> for NotPredicate<M, Item> where
M: Predicate<Item>,
Item: ?Sized,impl Predicate<f64> for IsClosePredicate
impl Predicate<Path> for ExistencePredicate
impl Predicate<Path> for FileTypePredicate
impl<P> Predicate<Path> for FileContentPredicate<P> where
P: Predicate<[u8]>,impl Predicate<Path> for BinaryFilePredicate
impl Predicate<Path> for StrFilePredicate
impl Predicate<str> for IsEmptyPredicate
impl Predicate<str> for StartsWithPredicate
impl Predicate<str> for EndsWithPredicate
impl Predicate<str> for ContainsPredicate
impl Predicate<str> for MatchesPredicate
impl<P> Predicate<str> for TrimPredicate<P> where
P: Predicate<str>,impl<P> Predicate<OsStr> for Utf8Predicate<P> where
P: Predicate<str>,impl<P> Predicate<[u8]> for Utf8Predicate<P> where
P: Predicate<str>,impl Predicate<str> for DifferencePredicate
impl Predicate<str> for RegexPredicate