predicates_core::reflection

Trait PredicateReflection

Source
pub trait PredicateReflection: Display {
    // Provided methods
    fn parameters<'a>(&'a self) -> Box<dyn Iterator<Item = Parameter<'a>> + 'a> { ... }
    fn children<'a>(&'a self) -> Box<dyn Iterator<Item = Child<'a>> + 'a> { ... }
}
Expand description

Introspect the state of a Predicate.

Provided Methods§

Source

fn parameters<'a>(&'a self) -> Box<dyn Iterator<Item = Parameter<'a>> + 'a>

Parameters of the current Predicate.

Source

fn children<'a>(&'a self) -> Box<dyn Iterator<Item = Child<'a>> + 'a>

Nested Predicates of the current Predicate.

Implementors§

impl<F, T> PredicateReflection for FnPredicate<F, T>
where F: Fn(&T) -> bool, T: ?Sized,

impl<Item> PredicateReflection for BoxPredicate<Item>
where Item: ?Sized,

impl<M, Item> PredicateReflection for NotPredicate<M, Item>
where M: Predicate<Item>, Item: ?Sized,

impl<M, Item> PredicateReflection for NamePredicate<M, Item>
where M: Predicate<Item>, Item: ?Sized,

impl<M1, M2, Item> PredicateReflection for AndPredicate<M1, M2, Item>
where M1: Predicate<Item>, M2: Predicate<Item>, Item: ?Sized,

impl<M1, M2, Item> PredicateReflection for OrPredicate<M1, M2, Item>
where M1: Predicate<Item>, M2: Predicate<Item>, Item: ?Sized,

impl<T> PredicateReflection for OrdInPredicate<T>
where T: Ord + Debug,

impl<T> PredicateReflection for EqPredicate<T>
where T: Debug,

impl<T> PredicateReflection for OrdPredicate<T>
where T: Debug,

impl<P> PredicateReflection for AncestorPredicate<P>
where P: for<'a> Predicate<CapturedSpan<'a>>,

impl<P> PredicateReflection for ParentPredicate<P>
where P: for<'a> Predicate<CapturedSpan<'a>>,

impl<T, P> PredicateReflection for ValuePredicate<T, P>
where T: for<'a> FromTracedValue<'a> + ?Sized, P: Predicate<T>,