pub trait Read<T, D = Self, S = ()>: Device{
type Read<'a>
where T: 'a,
D: 'a,
S: 'a;
// Required methods
fn read<'a>(&self, buf: &'a Buffer<'_, T, D, S>) -> Self::Read<'a>;
fn read_to_vec(&self, buf: &Buffer<'_, T, D, S>) -> Vec<T>
where T: Default + Clone;
}Expand description
Trait for reading buffers.
Required Associated Types§
Required Methods§
Sourcefn read<'a>(&self, buf: &'a Buffer<'_, T, D, S>) -> Self::Read<'a>
fn read<'a>(&self, buf: &'a Buffer<'_, T, D, S>) -> Self::Read<'a>
Read the data of the Buffer as type Read.
§Example
use custos::{CPU, Buffer, Read};
let device = CPU::new();
let a = Buffer::from((&device, [1., 2., 3., 3., 2., 1.,]));
let read = device.read(&a);
assert_eq!(&[1., 2., 3., 3., 2., 1.,], read);Sourcefn read_to_vec(&self, buf: &Buffer<'_, T, D, S>) -> Vec<T>
fn read_to_vec(&self, buf: &Buffer<'_, T, D, S>) -> Vec<T>
Read the data of a buffer into a vector
§Example
use custos::{CPU, Buffer, Read};
let device = CPU::new();
let a = Buffer::from((&device, [1., 2., 3., 3., 2., 1.,]));
let read = device.read_to_vec(&a);
assert_eq!(vec![1., 2., 3., 3., 2., 1.,], read);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.