Skip to main content

Validator

Trait Validator 

Source
pub trait Validator<const N: usize, R: ValidatorRet = ()>:
    Sized
    + Clone
    + Debug
    + Send
    + Sync
    + 'static {
    type Context<'ctx>: ValidatorContext;

    // Required methods
    fn validate<'ctx, E: Into<DekeError>, A: SRobotQLike<N, E>>(
        &self,
        q: A,
        ctx: &Self::Context<'ctx>,
    ) -> DekeResult<R>;
    fn validate_motion<'ctx>(
        &self,
        qs: &[SRobotQ<N>],
        ctx: &Self::Context<'ctx>,
    ) -> DekeResult<R>;
}

Required Associated Types§

Required Methods§

Source

fn validate<'ctx, E: Into<DekeError>, A: SRobotQLike<N, E>>( &self, q: A, ctx: &Self::Context<'ctx>, ) -> DekeResult<R>

Source

fn validate_motion<'ctx>( &self, qs: &[SRobotQ<N>], ctx: &Self::Context<'ctx>, ) -> DekeResult<R>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Validator<1> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl Validator<2> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl Validator<3> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl Validator<4> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl Validator<5> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl Validator<6> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl Validator<7> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl Validator<8> for DynamicJointValidator

Source§

type Context<'ctx> = ()

Source§

impl<const N: usize> Validator<N> for JointValidator<N>

Source§

type Context<'ctx> = ()

Source§

impl<const N: usize, A> Validator<N> for ValidatorNot<A>
where A: Validator<N>,

Source§

type Context<'ctx> = <A as Validator<N>>::Context<'ctx>

Source§

impl<const N: usize, A, B> Validator<N> for ValidatorAnd<A, B>
where A: Validator<N>, B: Validator<N>,

Source§

type Context<'ctx> = (<A as Validator<N>>::Context<'ctx>, <B as Validator<N>>::Context<'ctx>)

Source§

impl<const N: usize, A, B> Validator<N> for ValidatorOr<A, B>
where A: Validator<N>, B: Validator<N>,

Source§

type Context<'ctx> = (<A as Validator<N>>::Context<'ctx>, <B as Validator<N>>::Context<'ctx>)