Trait generic_btree::BTreeTrait
source · pub trait BTreeTrait {
type Elem: Debug;
type Cache: Debug + Default + Clone + Eq;
type CacheDiff: Debug;
const MAX_LEN: usize;
// Required methods
fn calc_cache_internal(
cache: &mut Self::Cache,
caches: &[Child<Self>],
diff: Option<Self::CacheDiff>
) -> Option<Self::CacheDiff>;
fn calc_cache_leaf(
cache: &mut Self::Cache,
elements: &[Self::Elem],
diff: Option<Self::CacheDiff>
) -> Self::CacheDiff;
fn merge_cache_diff(diff1: &mut Self::CacheDiff, diff2: &Self::CacheDiff);
// Provided methods
fn insert(
elements: &mut HeapVec<Self::Elem>,
index: usize,
offset: usize,
elem: Self::Elem
) { ... }
fn insert_batch(
elements: &mut HeapVec<Self::Elem>,
index: usize,
offset: usize,
new_elements: impl IntoIterator<Item = Self::Elem>
)
where Self::Elem: Clone { ... }
}Required Associated Types§
Required Associated Constants§
Required Methods§
sourcefn calc_cache_internal(
cache: &mut Self::Cache,
caches: &[Child<Self>],
diff: Option<Self::CacheDiff>
) -> Option<Self::CacheDiff>
fn calc_cache_internal( cache: &mut Self::Cache, caches: &[Child<Self>], diff: Option<Self::CacheDiff> ) -> Option<Self::CacheDiff>
If diff.is_some, return value should be some too