pub struct SparseStore { /* private fields */ }Expand description
A sparse store using a sorted map for bin storage.
This store only keeps track of non-empty bins, making it memory-efficient for data with widely scattered indices. However, it does not support collapsing, so memory usage can grow unbounded.
Use this store when:
- Input values span a wide range with gaps
- You don’t need bounded memory usage
- You want to avoid the overhead of dense array allocation
Implementations§
Source§impl SparseStore
impl SparseStore
Trait Implementations§
Source§impl Clone for SparseStore
impl Clone for SparseStore
Source§fn clone(&self) -> SparseStore
fn clone(&self) -> SparseStore
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SparseStore
impl Debug for SparseStore
Source§impl Default for SparseStore
impl Default for SparseStore
Source§impl PartialEq for SparseStore
impl PartialEq for SparseStore
Source§impl Store for SparseStore
impl Store for SparseStore
Source§fn total_count(&self) -> u64
fn total_count(&self) -> u64
Returns the total count across all bins.
Source§fn min_index(&self) -> Option<i32>
fn min_index(&self) -> Option<i32>
Returns the minimum index with a non-zero count, or
None if empty.Source§fn max_index(&self) -> Option<i32>
fn max_index(&self) -> Option<i32>
Returns the maximum index with a non-zero count, or
None if empty.Source§fn key_at_rank(&self, rank: u64) -> Option<i32>
fn key_at_rank(&self, rank: u64) -> Option<i32>
Returns the index of the bin containing the given rank. Read more
Source§fn merge_from_proto(
&mut self,
proto: &ProtoStore,
) -> Result<(), ProtoConversionError>
fn merge_from_proto( &mut self, proto: &ProtoStore, ) -> Result<(), ProtoConversionError>
Populates this store from a protobuf
Store.impl Eq for SparseStore
impl StructuralPartialEq for SparseStore
Auto Trait Implementations§
impl Freeze for SparseStore
impl RefUnwindSafe for SparseStore
impl Send for SparseStore
impl Sync for SparseStore
impl Unpin for SparseStore
impl UnwindSafe for SparseStore
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request