Trait EvalMetricRegistration

pub trait EvalMetricRegistration<TI, TO>: Sized
where TO: ItemLazy,
{ // Required method fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO> where B: Backend; }
Expand description

Trait to fake variadic generics.

Required Methods§

fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO>
where B: Backend,

Register the metrics.

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.

Implementations on Foreign Types§

§

impl<M1, M2, M3, M4, M5, M6, TI, TO> EvalMetricRegistration<TI, TO> for (M1, M2, M3, M4, M5, M6)
where TI: 'static, TO: ItemLazy + 'static, <TO as ItemLazy>::ItemSync: Adaptor<<M1 as Metric>::Input> + Adaptor<<M2 as Metric>::Input> + Adaptor<<M3 as Metric>::Input> + Adaptor<<M4 as Metric>::Input> + Adaptor<<M5 as Metric>::Input> + Adaptor<<M6 as Metric>::Input>, M1: Metric + Numeric + 'static, M2: Metric + Numeric + 'static, M3: Metric + Numeric + 'static, M4: Metric + Numeric + 'static, M5: Metric + Numeric + 'static, M6: Metric + Numeric + 'static,

§

fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO>
where B: Backend,

§

impl<M1, M2, M3, M4, M5, TI, TO> EvalMetricRegistration<TI, TO> for (M1, M2, M3, M4, M5)
where TI: 'static, TO: ItemLazy + 'static, <TO as ItemLazy>::ItemSync: Adaptor<<M1 as Metric>::Input> + Adaptor<<M2 as Metric>::Input> + Adaptor<<M3 as Metric>::Input> + Adaptor<<M4 as Metric>::Input> + Adaptor<<M5 as Metric>::Input>, M1: Metric + Numeric + 'static, M2: Metric + Numeric + 'static, M3: Metric + Numeric + 'static, M4: Metric + Numeric + 'static, M5: Metric + Numeric + 'static,

§

fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO>
where B: Backend,

§

impl<M1, M2, M3, M4, TI, TO> EvalMetricRegistration<TI, TO> for (M1, M2, M3, M4)
where TI: 'static, TO: ItemLazy + 'static, <TO as ItemLazy>::ItemSync: Adaptor<<M1 as Metric>::Input> + Adaptor<<M2 as Metric>::Input> + Adaptor<<M3 as Metric>::Input> + Adaptor<<M4 as Metric>::Input>, M1: Metric + Numeric + 'static, M2: Metric + Numeric + 'static, M3: Metric + Numeric + 'static, M4: Metric + Numeric + 'static,

§

fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO>
where B: Backend,

§

impl<M1, M2, M3, TI, TO> EvalMetricRegistration<TI, TO> for (M1, M2, M3)
where TI: 'static, TO: ItemLazy + 'static, <TO as ItemLazy>::ItemSync: Adaptor<<M1 as Metric>::Input> + Adaptor<<M2 as Metric>::Input> + Adaptor<<M3 as Metric>::Input>, M1: Metric + Numeric + 'static, M2: Metric + Numeric + 'static, M3: Metric + Numeric + 'static,

§

fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO>
where B: Backend,

§

impl<M1, M2, TI, TO> EvalMetricRegistration<TI, TO> for (M1, M2)
where TI: 'static, TO: ItemLazy + 'static, <TO as ItemLazy>::ItemSync: Adaptor<<M1 as Metric>::Input> + Adaptor<<M2 as Metric>::Input>, M1: Metric + Numeric + 'static, M2: Metric + Numeric + 'static,

§

fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO>
where B: Backend,

§

impl<M1, TI, TO> EvalMetricRegistration<TI, TO> for (M1,)
where TI: 'static, TO: ItemLazy + 'static, <TO as ItemLazy>::ItemSync: Adaptor<<M1 as Metric>::Input>, M1: Metric + Numeric + 'static,

§

fn register<B>( self, builder: EvaluatorBuilder<B, TI, TO>, ) -> EvaluatorBuilder<B, TI, TO>
where B: Backend,

Implementors§