Skip to main content

SplitParameters

Trait SplitParameters 

Source
pub trait SplitParameters {
    const MAX: usize;
    const MIN: usize;

    // Required method
    fn split(entries: &[Bounds]) -> (Vec<usize>, Vec<usize>);
}
Expand description

How a full node is partitioned when it overflows.

Mirrors index::parameters + the split policy (index/parameters.hpp). MAX is the node capacity; MIN the minimum fill each half must reach. The split method takes the overflowing children (as (Bounds, index) pairs, so the strategy is payload-agnostic) and returns the two groups by index.

Required Associated Constants§

Source

const MAX: usize

Maximum children per node before it must split.

Source

const MIN: usize

Minimum children each node must keep after a split.

Required Methods§

Source

fn split(entries: &[Bounds]) -> (Vec<usize>, Vec<usize>)

Partition entries (a bounds-per-child list) into two groups of indices, each of size at least Self::MIN.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<const MAX: usize, const MIN: usize> SplitParameters for Linear<MAX, MIN>

Source§

const MAX: usize = MAX

Source§

const MIN: usize = MIN

Source§

impl<const MAX: usize, const MIN: usize> SplitParameters for Quadratic<MAX, MIN>

Source§

const MAX: usize = MAX

Source§

const MIN: usize = MIN