pub trait ZeroSpVecTrait<N>:
Clone
+ Default
+ Index<usize, Output = N>where
N: Num,{
Show 28 methods
// Required methods
unsafe fn ind_ptr(&self) -> *mut u32;
unsafe fn val_ptr(&self) -> *mut N;
unsafe fn raw_push(&mut self, index: usize, value: N);
fn ind_binary_search(
&self,
index: usize,
cut_down: usize,
) -> Result<usize, usize>;
fn new() -> Self;
fn with_capacity(cap: usize) -> Self;
fn reserve(&mut self, additional: usize);
fn shrink_to_fit(&mut self);
fn is_empty(&self) -> bool;
fn len(&self) -> usize;
fn len_mut(&mut self) -> &mut usize;
fn capacity(&self) -> usize;
fn nnz(&self) -> usize;
fn add_dim(&mut self, dim: usize);
fn clear(&mut self);
fn push(&mut self, elem: N);
fn pop(&mut self) -> Option<N>;
fn get(&self, index: usize) -> Option<&N>;
fn raw_get(&self, index: usize) -> Option<ValueWithIndex<'_, N>>;
fn get_with_cut_down(&self, index: usize, cut_down: usize) -> Option<&N>;
fn raw_get_with_cut_down(
&self,
index: usize,
cut_down: usize,
) -> Option<ValueWithIndex<'_, N>>;
fn get_ind(&self, index: usize) -> Option<usize>;
fn remove(&mut self, index: usize) -> N;
fn from_vec(vec: Vec<N>) -> Self;
unsafe fn from_raw_iter(
iter: impl Iterator<Item = (usize, N)>,
len: usize,
) -> Self;
unsafe fn from_sparse_iter(
iter: impl Iterator<Item = (usize, N)>,
len: usize,
) -> Self;
fn iter(&self) -> ZeroSpVecIter<'_, N> ⓘ;
fn raw_iter(&self) -> ZeroSpVecRawIter<'_, N> ⓘ;
}Required Methods§
unsafe fn ind_ptr(&self) -> *mut u32
unsafe fn val_ptr(&self) -> *mut N
unsafe fn raw_push(&mut self, index: usize, value: N)
fn ind_binary_search( &self, index: usize, cut_down: usize, ) -> Result<usize, usize>
fn new() -> Self
fn with_capacity(cap: usize) -> Self
fn reserve(&mut self, additional: usize)
fn shrink_to_fit(&mut self)
fn is_empty(&self) -> bool
fn len(&self) -> usize
fn len_mut(&mut self) -> &mut usize
fn capacity(&self) -> usize
fn nnz(&self) -> usize
fn add_dim(&mut self, dim: usize)
fn clear(&mut self)
fn push(&mut self, elem: N)
fn pop(&mut self) -> Option<N>
fn get(&self, index: usize) -> Option<&N>
fn raw_get(&self, index: usize) -> Option<ValueWithIndex<'_, N>>
fn get_with_cut_down(&self, index: usize, cut_down: usize) -> Option<&N>
fn raw_get_with_cut_down( &self, index: usize, cut_down: usize, ) -> Option<ValueWithIndex<'_, N>>
fn get_ind(&self, index: usize) -> Option<usize>
fn remove(&mut self, index: usize) -> N
fn from_vec(vec: Vec<N>) -> Self
unsafe fn from_raw_iter( iter: impl Iterator<Item = (usize, N)>, len: usize, ) -> Self
unsafe fn from_sparse_iter( iter: impl Iterator<Item = (usize, N)>, len: usize, ) -> Self
fn iter(&self) -> ZeroSpVecIter<'_, N> ⓘ
fn raw_iter(&self) -> ZeroSpVecRawIter<'_, N> ⓘ
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.