Struct predicates::iter::InPredicate [] [src]

pub struct InPredicate<T> where
    T: PartialEq + Debug
{ /* fields omitted */ }

Predicate that returns true if variable is a member of the pre-defined set, otherwise returns false.

Note that this implementation places the fewest restrictions on the underlying Item type at the expense of having the least performant implementation (linear search). If the type to be searched is Hash + Eq, it is much more efficient to use HashableInPredicate and in_hash. The implementation-specific predicates will be deprecated when Rust supports trait specialization.

Methods

impl<T> InPredicate<T> where
    T: Ord + Debug
[src]

[src]

Creates a new predicate that will return true when the given variable is contained with the set of items provided.

Note that this implementation requires Item to be Ord. The InPredicate uses a less efficient search algorithm but only requires Item implement PartialEq. The implementation-specific predicates will be deprecated when Rust supports trait specialization.

Examples

use predicates::prelude::*;

let predicate_fn = predicate::in_iter(vec![1, 3, 5]).sort();
assert_eq!(true, predicate_fn.eval(&1));
assert_eq!(false, predicate_fn.eval(&2));
assert_eq!(true, predicate_fn.eval(&3));
assert_eq!(false, predicate_fn.eval(&4));
assert_eq!(true, predicate_fn.eval(&5));

Trait Implementations

impl<T: Debug> Debug for InPredicate<T> where
    T: PartialEq + Debug
[src]

[src]

Formats the value using the given formatter. Read more

impl<T> Predicate<T> for InPredicate<T> where
    T: PartialEq + Debug
[src]

[src]

Execute this Predicate against variable, returning the resulting boolean. Read more

impl<T> Display for InPredicate<T> where
    T: PartialEq + Debug
[src]

[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<T> Send for InPredicate<T> where
    T: Send

impl<T> Sync for InPredicate<T> where
    T: Sync