NumEntries

Trait NumEntries 

Source
pub trait NumEntries {
    const CONST_NUM_ENTRIES: Option<usize>;

    // Required methods
    fn num_entries_shallow(&self) -> usize;
    fn num_entries_deep(&self) -> usize;
}
Expand description

Trait to report object size as the number of entries.

Required Associated Constants§

Source

const CONST_NUM_ENTRIES: Option<usize>

Returns Some(n) if Self has constant size or None otherwise.

Required Methods§

Source

fn num_entries_shallow(&self) -> usize

Returns the number of entries in self.

Source

fn num_entries_deep(&self) -> usize

Recursively computes the number of entries in a container by calling this method on each entry in self.

Scalars have size 1. Container (e.g., vector, map) size is the sum of sizes of its elements. If elements have constant size, container size can be efficiently measured by multiplying the number of elements by the size of each element.

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.

Implementations on Foreign Types§

Source§

impl NumEntries for bool

Source§

impl NumEntries for i8

Source§

impl NumEntries for i16

Source§

impl NumEntries for i32

Source§

impl NumEntries for i64

Source§

impl NumEntries for i128

Source§

impl NumEntries for isize

Source§

impl NumEntries for str

Source§

impl NumEntries for u8

Source§

impl NumEntries for u16

Source§

impl NumEntries for u32

Source§

impl NumEntries for u64

Source§

impl NumEntries for u128

Source§

impl NumEntries for ()

Source§

impl NumEntries for usize

Source§

impl NumEntries for String

Source§

impl NumEntries for NonZeroI8

Source§

impl NumEntries for NonZeroI16

Source§

impl NumEntries for NonZeroI32

Source§

impl NumEntries for NonZeroI64

Source§

impl NumEntries for NonZeroI128

Source§

impl NumEntries for NonZeroIsize

Source§

impl NumEntries for NonZeroU8

Source§

impl NumEntries for NonZeroU16

Source§

impl NumEntries for NonZeroU32

Source§

impl NumEntries for NonZeroU64

Source§

impl NumEntries for NonZeroU128

Source§

impl NumEntries for NonZeroUsize

Source§

impl<T> NumEntries for Option<T>
where T: NumEntries,

Source§

impl<T> NumEntries for &T
where T: NumEntries,

Source§

impl<T> NumEntries for [T]
where T: NumEntries,

Source§

impl<T> NumEntries for Box<T>
where T: NumEntries + ?Sized,

Source§

impl<T> NumEntries for Rc<T>
where T: NumEntries,

Source§

impl<T> NumEntries for Arc<T>
where T: NumEntries,

Source§

impl<T> NumEntries for Vec<T>
where T: NumEntries,

Source§

impl<TupleElement0: NumEntries> NumEntries for (TupleElement0,)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries> NumEntries for (TupleElement0, TupleElement1)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries, TupleElement5: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries, TupleElement5: NumEntries, TupleElement6: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries, TupleElement5: NumEntries, TupleElement6: NumEntries, TupleElement7: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries, TupleElement5: NumEntries, TupleElement6: NumEntries, TupleElement7: NumEntries, TupleElement8: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries, TupleElement5: NumEntries, TupleElement6: NumEntries, TupleElement7: NumEntries, TupleElement8: NumEntries, TupleElement9: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries, TupleElement5: NumEntries, TupleElement6: NumEntries, TupleElement7: NumEntries, TupleElement8: NumEntries, TupleElement9: NumEntries, TupleElement10: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

Source§

impl<TupleElement0: NumEntries, TupleElement1: NumEntries, TupleElement2: NumEntries, TupleElement3: NumEntries, TupleElement4: NumEntries, TupleElement5: NumEntries, TupleElement6: NumEntries, TupleElement7: NumEntries, TupleElement8: NumEntries, TupleElement9: NumEntries, TupleElement10: NumEntries, TupleElement11: NumEntries> NumEntries for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

Source§

impl<const N: usize, T> NumEntries for [T; N]
where T: NumEntries,

Implementors§

Source§

impl NumEntries for Tup0

Source§

impl NumEntries for DynData

Source§

impl<B> NumEntries for Spine<B>
where B: Batch,

Source§

impl<B> NumEntries for SpineSnapshot<B>
where B: Batch + Send + Sync,

Source§

impl<K, L, O> NumEntries for Layer<K, L, O>
where K: DataTrait + ?Sized, L: Trie + NumEntries, O: OrdOffset,

Source§

impl<K, R> NumEntries for FallbackWSet<K, R>
where K: DataTrait + ?Sized, R: WeightTrait + ?Sized,

Source§

impl<K, R> NumEntries for FileWSet<K, R>
where K: DataTrait + ?Sized, R: WeightTrait + ?Sized,

Source§

impl<K, T, R> NumEntries for FallbackKeyBatch<K, T, R>
where K: DataTrait + ?Sized, T: Timestamp, R: WeightTrait + ?Sized,

Source§

impl<K, T, R> NumEntries for FileKeyBatch<K, T, R>
where K: DataTrait + ?Sized, T: Timestamp, R: WeightTrait + ?Sized,

Source§

impl<K, T, R, O> NumEntries for VecKeyBatch<K, T, R, O>
where K: DataTrait + ?Sized, T: Timestamp, R: WeightTrait + ?Sized, O: OrdOffset,

Source§

const CONST_NUM_ENTRIES: Option<usize> = VecKeyBatchLayer<K, T, R, O>::CONST_NUM_ENTRIES

Source§

impl<K, V, R> NumEntries for FallbackIndexedWSet<K, V, R>
where K: DataTrait + ?Sized, V: DataTrait + ?Sized, R: WeightTrait + ?Sized,

Source§

impl<K, V, R> NumEntries for FileIndexedWSet<K, V, R>
where K: DataTrait + ?Sized, V: DataTrait + ?Sized, R: WeightTrait + ?Sized,

Source§

impl<K, V, R, B> NumEntries for TypedBatch<K, V, R, B>
where B: DynBatchReader, K: DBData + Erase<B::Key>, V: DBData + Erase<B::Val>, R: DBWeight + Erase<B::R>,

Source§

const CONST_NUM_ENTRIES: Option<usize> = B::CONST_NUM_ENTRIES

Source§

impl<K, V, R, O> NumEntries for VecIndexedWSet<K, V, R, O>
where K: DataTrait + ?Sized, V: DataTrait + ?Sized, R: WeightTrait + ?Sized, O: OrdOffset,

Source§

const CONST_NUM_ENTRIES: Option<usize> = Layers<K, V, R, O>::CONST_NUM_ENTRIES

Source§

impl<K, V, T, R> NumEntries for FallbackValBatch<K, V, T, R>
where K: DataTrait + ?Sized, V: DataTrait + ?Sized, T: Timestamp, R: WeightTrait + ?Sized,

Source§

impl<K, V, T, R> NumEntries for FileValBatch<K, V, T, R>
where K: DataTrait + ?Sized, V: DataTrait + ?Sized, T: Timestamp, R: WeightTrait + ?Sized,

Source§

impl<K, V, T, R, O> NumEntries for VecValBatch<K, V, T, R, O>
where K: DataTrait + ?Sized, V: DataTrait + ?Sized, R: WeightTrait + ?Sized, T: Timestamp, O: OrdOffset,

Source§

const CONST_NUM_ENTRIES: Option<usize> = VecValBatchLayer<K, V, T, R, O>::CONST_NUM_ENTRIES

Source§

impl<K: DataTrait + ?Sized, R: WeightTrait + ?Sized> NumEntries for Leaf<K, R>

Source§

impl<K: DataTrait + ?Sized, R: WeightTrait + ?Sized> NumEntries for VecWSet<K, R>

Source§

const CONST_NUM_ENTRIES: Option<usize> = Leaf<K, R>::CONST_NUM_ENTRIES

Source§

impl<K: DBData, V: DBData> NumEntries for NeighborhoodDescr<K, V>

Source§

impl<T1> NumEntries for Tup1<T1>
where T1: NumEntries,

Source§

impl<T1, T2> NumEntries for Tup2<T1, T2>
where T1: NumEntries, T2: NumEntries,

Source§

impl<T1, T2, T3> NumEntries for Tup3<T1, T2, T3>
where T1: NumEntries, T2: NumEntries, T3: NumEntries,

Source§

impl<T1, T2, T3, T4> NumEntries for Tup4<T1, T2, T3, T4>
where T1: NumEntries, T2: NumEntries, T3: NumEntries, T4: NumEntries,

Source§

impl<T1, T2, T3, T4, T5> NumEntries for Tup5<T1, T2, T3, T4, T5>
where T1: NumEntries, T2: NumEntries, T3: NumEntries, T4: NumEntries, T5: NumEntries,

Source§

impl<T1, T2, T3, T4, T5, T6> NumEntries for Tup6<T1, T2, T3, T4, T5, T6>
where T1: NumEntries, T2: NumEntries, T3: NumEntries, T4: NumEntries, T5: NumEntries, T6: NumEntries,

Source§

impl<T1, T2, T3, T4, T5, T6, T7> NumEntries for Tup7<T1, T2, T3, T4, T5, T6, T7>
where T1: NumEntries, T2: NumEntries, T3: NumEntries, T4: NumEntries, T5: NumEntries, T6: NumEntries, T7: NumEntries,

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> NumEntries for Tup8<T1, T2, T3, T4, T5, T6, T7, T8>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> NumEntries for Tup9<T1, T2, T3, T4, T5, T6, T7, T8, T9>

Source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> NumEntries for Tup10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>

Source§

impl<T, D: ?Sized> NumEntries for TypedBox<T, D>

Source§

impl<T: DBData> NumEntries for DynDataTyped<T>

Source§

impl<V: DBData, U: DBData> NumEntries for Update<V, U>