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§
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§
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.