pub trait Transform<A: Access<T>, T: CType>: PlatformInstance {
type Broadcast: ReadOp<Self, T>;
type Slice: ReadOp<Self, T>;
type Transpose: ReadOp<Self, T>;
// Required methods
fn broadcast(
self,
access: A,
shape: Shape,
broadcast: Shape,
) -> Result<AccessOp<Self::Broadcast, Self>, Error>;
fn slice(
self,
access: A,
shape: &[usize],
range: Range,
) -> Result<AccessOp<Self::Slice, Self>, Error>;
fn transpose(
self,
access: A,
shape: Shape,
permutation: Axes,
) -> Result<AccessOp<Self::Transpose, Self>, Error>;
}
Required Associated Types§
type Broadcast: ReadOp<Self, T>
type Slice: ReadOp<Self, T>
type Transpose: ReadOp<Self, T>
Required Methods§
fn broadcast( self, access: A, shape: Shape, broadcast: Shape, ) -> Result<AccessOp<Self::Broadcast, Self>, Error>
fn slice( self, access: A, shape: &[usize], range: Range, ) -> Result<AccessOp<Self::Slice, Self>, Error>
fn transpose( self, access: A, shape: Shape, permutation: Axes, ) -> Result<AccessOp<Self::Transpose, Self>, Error>
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.