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]

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));

let predicate_fn = predicate::in_iter(vec!["a", "c", "e"]).sort();
assert_eq!(true, predicate_fn.eval("a"));
assert_eq!(false, predicate_fn.eval("b"));
assert_eq!(true, predicate_fn.eval("c"));

Trait Implementations

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

Formats the value using the given formatter. Read more

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

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

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

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

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

Find a case that proves this predicate as expected when run against variable.

impl<'a, T: ?Sized> Predicate<T> for InPredicate<&'a T> where
    T: PartialEq + Debug
[src]

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

Find a case that proves this predicate as expected when run against variable.

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

Important traits for Box<R>

Parameters of the current Predicate.

Important traits for Box<R>

Nested Predicates of the current Predicate.

impl<T> Display for InPredicate<T> where
    T: PartialEq + Debug
[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