pub trait Storage<T: Scalar>:
Clone
+ Send
+ Sync
+ Sized {
// Required methods
fn len(&self) -> usize;
fn get(&self, index: usize) -> T;
fn set(&mut self, index: usize, value: T);
fn to_vec(&self) -> Vec<T>;
fn from_slice(data: &[T]) -> Self;
fn zeros(len: usize) -> Self;
// Provided method
fn is_empty(&self) -> bool { ... }
}Expand description
Storage trait for tensor data.
Abstracts over different storage backends (CPU memory, GPU memory).
Required Methods§
Sourcefn from_slice(data: &[T]) -> Self
fn from_slice(data: &[T]) -> Self
Create storage from slice.
Provided Methods§
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.