Trait luminance::backend::buffer::Buffer [−][src]
pub unsafe trait Buffer<T> where
T: Copy, { type BufferRepr; unsafe fn new_buffer(
&mut self,
len: usize
) -> Result<Self::BufferRepr, BufferError>
where
T: Default; unsafe fn len(buffer: &Self::BufferRepr) -> usize; unsafe fn from_vec(
&mut self,
vec: Vec<T>
) -> Result<Self::BufferRepr, BufferError>; unsafe fn repeat(
&mut self,
len: usize,
value: T
) -> Result<Self::BufferRepr, BufferError>; unsafe fn at(buffer: &Self::BufferRepr, i: usize) -> Option<T>; unsafe fn whole(buffer: &Self::BufferRepr) -> Vec<T>; unsafe fn set(
buffer: &mut Self::BufferRepr,
i: usize,
x: T
) -> Result<(), BufferError>; unsafe fn write_whole(
buffer: &mut Self::BufferRepr,
values: &[T]
) -> Result<(), BufferError>; unsafe fn clear(
buffer: &mut Self::BufferRepr,
x: T
) -> Result<(), BufferError>; }
Associated Types
type BufferRepr
type BufferRepr
The inner representation of the buffer for this backend.
Required methods
unsafe fn new_buffer(
&mut self,
len: usize
) -> Result<Self::BufferRepr, BufferError> where
T: Default,
unsafe fn new_buffer(
&mut self,
len: usize
) -> Result<Self::BufferRepr, BufferError> where
T: Default,
Create a new buffer with a given number of uninitialized elements.
unsafe fn len(buffer: &Self::BufferRepr) -> usize
unsafe fn from_vec(
&mut self,
vec: Vec<T>
) -> Result<Self::BufferRepr, BufferError>
unsafe fn repeat(
&mut self,
len: usize,
value: T
) -> Result<Self::BufferRepr, BufferError>
unsafe fn at(buffer: &Self::BufferRepr, i: usize) -> Option<T>
unsafe fn whole(buffer: &Self::BufferRepr) -> Vec<T>
unsafe fn set(
buffer: &mut Self::BufferRepr,
i: usize,
x: T
) -> Result<(), BufferError>
unsafe fn write_whole(
buffer: &mut Self::BufferRepr,
values: &[T]
) -> Result<(), BufferError>
unsafe fn clear(buffer: &mut Self::BufferRepr, x: T) -> Result<(), BufferError>