DeviceBase

Trait DeviceBase 

Source
pub trait DeviceBase:
    Copy
    + Default
    + Serialize
    + 'static {
    // Required methods
    fn mem_pool_drop_ptr(ptr: *mut u8) -> Result<(), MemPoolError>;
    fn raw_drop_ptr<T>(ptr: *mut T);
    fn clone_ptr<T>(ptr: *const T, len: usize) -> *mut T;
    fn assign_item<T: Num>(ptr: *mut T, offset: usize, value: T);
    fn get_item<T: Num>(ptr: *const T, offset: usize) -> T;
    fn from_vec<T: Num>(vec: Vec<T>) -> *mut T;
    fn zeros<T: Num>(len: usize) -> *mut T;
    fn mem_pool_alloc(num_bytes: usize) -> Result<*mut u8, MemPoolError>;
    fn raw_alloc(num_bytes: usize) -> Result<*mut u8, String>;

    // Provided methods
    fn drop_ptr<T>(ptr: *mut T) { ... }
    fn alloc(num_bytes: usize) -> Result<*mut u8, MemPoolError> { ... }
}

Required Methods§

Source

fn mem_pool_drop_ptr(ptr: *mut u8) -> Result<(), MemPoolError>

Source

fn raw_drop_ptr<T>(ptr: *mut T)

Source

fn clone_ptr<T>(ptr: *const T, len: usize) -> *mut T

Source

fn assign_item<T: Num>(ptr: *mut T, offset: usize, value: T)

Source

fn get_item<T: Num>(ptr: *const T, offset: usize) -> T

Source

fn from_vec<T: Num>(vec: Vec<T>) -> *mut T

Source

fn zeros<T: Num>(len: usize) -> *mut T

Source

fn mem_pool_alloc(num_bytes: usize) -> Result<*mut u8, MemPoolError>

Source

fn raw_alloc(num_bytes: usize) -> Result<*mut u8, String>

Provided Methods§

Source

fn drop_ptr<T>(ptr: *mut T)

Source

fn alloc(num_bytes: usize) -> Result<*mut u8, MemPoolError>

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.

Implementors§