pub struct ZeroSpVec<N>where
N: Num,{ /* private fields */ }Expand description
ZeroSpVecは0要素を疎とした過疎ベクトルを実装です indices と valuesを持ち indicesは要素のインデックスを保持し、 valuesは要素の値を保持します
要素はindicesの昇順でソートされていることを保証します
Trait Implementations§
Source§impl<'de, N> Deserialize<'de> for ZeroSpVec<N>
impl<'de, N> Deserialize<'de> for ZeroSpVec<N>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a, N> From<ZeroSpVecRawIter<'a, N>> for ZeroSpVec<N>
impl<'a, N> From<ZeroSpVecRawIter<'a, N>> for ZeroSpVec<N>
Source§fn from(iter: ZeroSpVecRawIter<'a, N>) -> Self
fn from(iter: ZeroSpVecRawIter<'a, N>) -> Self
Converts to this type from the input type.
Source§impl<N> ZeroSpVecTrait<N> for ZeroSpVec<N>where
N: Num,
impl<N> ZeroSpVecTrait<N> for ZeroSpVec<N>where
N: Num,
Source§fn shrink_to_fit(&mut self)
fn shrink_to_fit(&mut self)
capの最適化 未使用領域を解放
Source§unsafe fn from_raw_iter(
iter: impl Iterator<Item = (usize, N)>,
len: usize,
) -> Self
unsafe fn from_raw_iter( iter: impl Iterator<Item = (usize, N)>, len: usize, ) -> Self
(idx, value)のイテレータから構築します これはfrom_sparse_iterと異なり、0要素も含めて構築します
Source§unsafe fn from_sparse_iter(
iter: impl Iterator<Item = (usize, N)>,
len: usize,
) -> Self
unsafe fn from_sparse_iter( iter: impl Iterator<Item = (usize, N)>, len: usize, ) -> Self
(idx, value)のイテレータから構築します これは0要素を自動でスキップします
Source§fn iter(&self) -> ZeroSpVecIter<'_, N> ⓘ
fn iter(&self) -> ZeroSpVecIter<'_, N> ⓘ
イテレータを返す これはVecと同様に0要素も含めて返す
Source§fn raw_iter(&self) -> ZeroSpVecRawIter<'_, N> ⓘ
fn raw_iter(&self) -> ZeroSpVecRawIter<'_, N> ⓘ
生イテレータを返す これは0要素を含めず、実際に格納されている(idx, value)ペアのみを返す
unsafe fn ind_ptr(&self) -> *mut u32
unsafe fn val_ptr(&self) -> *mut N
fn ind_binary_search( &self, index: usize, cut_down: usize, ) -> Result<usize, usize>
fn new() -> Self
fn with_capacity(cap: usize) -> Self
fn is_empty(&self) -> bool
fn len(&self) -> usize
unsafe fn set_len(&mut self, len: usize)
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>
impl<N: Num + Send> Send for ZeroSpVec<N>
impl<N: Num + Sync> Sync for ZeroSpVec<N>
Auto Trait Implementations§
impl<N> Freeze for ZeroSpVec<N>where
N: Freeze,
impl<N> RefUnwindSafe for ZeroSpVec<N>where
N: RefUnwindSafe,
impl<N> Unpin for ZeroSpVec<N>where
N: Unpin,
impl<N> UnwindSafe for ZeroSpVec<N>where
N: UnwindSafe + RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more