[−][src]Struct predicates::iter::InPredicate
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]
T: Ord + Debug,
pub fn sort(self) -> OrdInPredicate<T>
[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: PartialEq> PartialEq<InPredicate<T>> for InPredicate<T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
fn eq(&self, other: &InPredicate<T>) -> bool
[src]
fn ne(&self, other: &InPredicate<T>) -> bool
[src]
impl<T: Eq> Eq for InPredicate<T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
impl<T: Clone> Clone for InPredicate<T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
fn clone(&self) -> InPredicate<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Debug> Debug for InPredicate<T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
impl<T> Display for InPredicate<T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
impl<T> Predicate<T> for InPredicate<T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
fn eval(&self, variable: &T) -> bool
[src]
fn find_case<'a>(&'a self, expected: bool, variable: &T) -> Option<Case<'a>>
[src]
impl<'a, T: ?Sized> Predicate<T> for InPredicate<&'a T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
fn eval(&self, variable: &T) -> bool
[src]
fn find_case<'b>(&'b self, expected: bool, variable: &T) -> Option<Case<'b>>
[src]
impl<T> PredicateReflection for InPredicate<T> where
T: PartialEq + Debug,
[src]
T: PartialEq + Debug,
Auto Trait Implementations
impl<T> Send for InPredicate<T> where
T: Send,
T: Send,
impl<T> Sync for InPredicate<T> where
T: Sync,
T: Sync,
Blanket Implementations
impl<P, Item> PredicateNameExt for P where
Item: ?Sized,
P: Predicate<Item>,
[src]
Item: ?Sized,
P: Predicate<Item>,
fn name(self, name: &'static str) -> NamePredicate<Self, Item> where
Self: Sized,
[src]
Self: Sized,
Name a predicate expression. Read more
impl<P, Item> PredicateBooleanExt for P where
Item: ?Sized,
P: Predicate<Item>,
[src]
Item: ?Sized,
P: Predicate<Item>,
fn and<B>(self, other: B) -> AndPredicate<Self, B, Item> where
B: Predicate<Item>,
Self: Sized,
[src]
B: Predicate<Item>,
Self: Sized,
Compute the logical AND of two Predicate
results, returning the result. Read more
fn or<B>(self, other: B) -> OrPredicate<Self, B, Item> where
B: Predicate<Item>,
Self: Sized,
[src]
B: Predicate<Item>,
Self: Sized,
Compute the logical OR of two Predicate
results, returning the result. Read more
fn not(self) -> NotPredicate<Self, Item> where
Self: Sized,
[src]
Self: Sized,
Compute the logical NOT of a Predicate
, returning the result. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,