Skip to main content

Wrappable

Trait Wrappable 

Source
pub trait Wrappable:
    Clone
    + Debug
    + Decompose
    + Send {
    type B: Backend;
    type With<C: Backend>: Wrappable<B = C, With<C> = Self::With<C>> + Wrappable<B = C, With<Self::B> = Self>;
}
Expand description

higher kinded type trait to allow rewrapping burn modules in different backends to implement some wrapper features

Required Associated Types§

Source

type B: Backend

Source

type With<C: Backend>: Wrappable<B = C, With<C> = Self::With<C>> + Wrappable<B = C, With<Self::B> = Self>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<A: Wrappable<B = B>, B: Backend, D: Wrappable<B = B>, E: Wrappable<B = B>, F: Wrappable<B = B>, G: Wrappable<B = B>, H: Wrappable<B = B>, I: Wrappable<B = B>, J: Wrappable<B = B>> Wrappable for (A, D, E, F, G, H, I, J)

Source§

type B = B

Source§

type With<C: Backend> = (<A as Wrappable>::With<C>, <D as Wrappable>::With<C>, <E as Wrappable>::With<C>, <F as Wrappable>::With<C>, <G as Wrappable>::With<C>, <H as Wrappable>::With<C>, <I as Wrappable>::With<C>, <J as Wrappable>::With<C>)

Source§

impl<A: Wrappable<B = B>, B: Backend, D: Wrappable<B = B>, E: Wrappable<B = B>, F: Wrappable<B = B>, G: Wrappable<B = B>, H: Wrappable<B = B>, I: Wrappable<B = B>> Wrappable for (A, D, E, F, G, H, I)

Source§

type B = B

Source§

type With<C: Backend> = (<A as Wrappable>::With<C>, <D as Wrappable>::With<C>, <E as Wrappable>::With<C>, <F as Wrappable>::With<C>, <G as Wrappable>::With<C>, <H as Wrappable>::With<C>, <I as Wrappable>::With<C>)

Source§

impl<A: Wrappable<B = B>, B: Backend, D: Wrappable<B = B>, E: Wrappable<B = B>, F: Wrappable<B = B>, G: Wrappable<B = B>, H: Wrappable<B = B>> Wrappable for (A, D, E, F, G, H)

Source§

type B = B

Source§

type With<C: Backend> = (<A as Wrappable>::With<C>, <D as Wrappable>::With<C>, <E as Wrappable>::With<C>, <F as Wrappable>::With<C>, <G as Wrappable>::With<C>, <H as Wrappable>::With<C>)

Source§

impl<A: Wrappable<B = B>, B: Backend, D: Wrappable<B = B>, E: Wrappable<B = B>, F: Wrappable<B = B>, G: Wrappable<B = B>> Wrappable for (A, D, E, F, G)

Source§

type B = B

Source§

type With<C: Backend> = (<A as Wrappable>::With<C>, <D as Wrappable>::With<C>, <E as Wrappable>::With<C>, <F as Wrappable>::With<C>, <G as Wrappable>::With<C>)

Source§

impl<A: Wrappable<B = B>, B: Backend, D: Wrappable<B = B>, E: Wrappable<B = B>, F: Wrappable<B = B>> Wrappable for (A, D, E, F)

Source§

type B = B

Source§

type With<C: Backend> = (<A as Wrappable>::With<C>, <D as Wrappable>::With<C>, <E as Wrappable>::With<C>, <F as Wrappable>::With<C>)

Source§

impl<A: Wrappable<B = B>, B: Backend, D: Wrappable<B = B>, E: Wrappable<B = B>> Wrappable for (A, D, E)

Source§

type B = B

Source§

type With<C: Backend> = (<A as Wrappable>::With<C>, <D as Wrappable>::With<C>, <E as Wrappable>::With<C>)

Source§

impl<A: Wrappable<B = B>, B: Backend, D: Wrappable<B = B>> Wrappable for (A, D)

Source§

type B = B

Source§

type With<C: Backend> = (<A as Wrappable>::With<C>, <D as Wrappable>::With<C>)

Implementors§

Source§

impl<A: Wrappable<B = B>, B: Backend, X: Wrappable<B = B>, Y: Wrappable<B = B>> Wrappable for SetType<A, X, Y>

Source§

type B = B

Source§

type With<C: Backend> = SetType<<A as Wrappable>::With<C>, <X as Wrappable>::With<C>, <Y as Wrappable>::With<C>>

Source§

impl<B: Backend> Wrappable for Identity<B>

Source§

type B = B

Source§

type With<C: Backend> = Identity<C>

Source§

impl<B: Backend> Wrappable for Layer<B>

Source§

type B = B

Source§

type With<C: Backend> = Layer<C>

Source§

impl<B: Backend> Wrappable for LossOutput<B>

Source§

impl<B: Backend> Wrappable for Value<B>

Source§

type B = B

Source§

type With<C: Backend> = Value<C>

Source§

impl<W: Wrappable> Wrappable for Abs<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Abs<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for AccQ<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = AccQ<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Cat<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Cat<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Choose<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Choose<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Classification<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Classification<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for CrossEntropy<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = CrossEntropy<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Duplicate<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Duplicate<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Graph<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Graph<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Inner<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Inner<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Map<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Map<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Mean<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Mean<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Regression<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Regression<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Sequential<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Sequential<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for SquaredError<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = SquaredError<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Unvec<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Unvec<<W as Wrappable>::With<C>>

Source§

impl<W: Wrappable> Wrappable for Zip<W>

Source§

type B = <W as Wrappable>::B

Source§

type With<C: Backend> = Zip<<W as Wrappable>::With<C>>