Matcher

Trait Matcher 

Source
pub trait Matcher<T> {
    // Required method
    fn matches(&self, actual: &T) -> bool;

    // Provided method
    fn required_matches(&self, actual: Option<&T>) -> bool { ... }
}
Expand description

Common pattern to define a matcher for a metadata input T.

Used in matching engines like filtering and routing rules.

Required Methods§

Source

fn matches(&self, actual: &T) -> bool

Returns whether the provided value matches.

Provided Methods§

Source

fn required_matches(&self, actual: Option<&T>) -> bool

Returns whether the provided value is set and matches.

Implementations on Foreign Types§

Source§

impl<T, O> Matcher<T> for Option<O>
where O: Matcher<T>,

Implement Matcher for optional matchers, so that if a matcher is left unspecified, it matches all inputs by default.

Source§

fn matches(&self, actual: &T) -> bool

Source§

fn required_matches(&self, actual: Option<&T>) -> bool

Implementors§

Source§

impl<'a, DeviceClass, D: InterfaceProperties<DeviceClass>> Matcher<Option<&'a D>> for BoundInterfaceMatcher<DeviceClass>

Source§

impl<A: IpAddress> Matcher<A> for SubnetMatcher<A>

Source§

impl<DeviceClass, I: InterfaceProperties<DeviceClass>> Matcher<I> for InterfaceMatcher<DeviceClass>