[][src]Trait luminance::backend::buffer::Buffer

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

The inner representation of the buffer for this backend.

Loading content...

Required methods

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>

Loading content...

Implementors

Loading content...