pub struct Linear<const MAX: usize = 32, const MIN: usize = 9>;Expand description
Linear split — cheap inserts, looser trees.
O(n): pick the two children furthest apart along the axis of
greatest spread as seeds, then distribute the rest greedily by
least enlargement. Mirrors
index/detail/rtree/linear/redistribute_elements.hpp.
Its <32, 9> type default is a symmetric alternative, not the default of
crate::Rtree. See the module tuning guide.
Trait Implementations§
impl<const MAX: usize, const MIN: usize> Copy for Linear<MAX, MIN>
Source§impl<const MAX: usize, const MIN: usize> SplitParameters for Linear<MAX, MIN>
impl<const MAX: usize, const MIN: usize> SplitParameters for Linear<MAX, MIN>
Source§fn split(entries: &[Bounds]) -> (Vec<usize>, Vec<usize>)
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.Source§const BRANCH_MAX: usize = Self::MAX
const BRANCH_MAX: usize = Self::MAX
Maximum children in a branch. Defaults to
Self::MAX.Source§const BRANCH_MIN: usize = Self::MIN
const BRANCH_MIN: usize = Self::MIN
Minimum children in either half of a split branch.
Source§const BULK_LEAF_MAX: usize = Self::LEAF_MAX
const BULK_LEAF_MAX: usize = Self::LEAF_MAX
Maximum values per leaf created by bulk loading.
Source§const BULK_BRANCH_MAX: usize = Self::BRANCH_MAX
const BULK_BRANCH_MAX: usize = Self::BRANCH_MAX
Maximum children per branch created by bulk loading.
Auto Trait Implementations§
impl<const MAX: usize, const MIN: usize> Freeze for Linear<MAX, MIN>
impl<const MAX: usize, const MIN: usize> RefUnwindSafe for Linear<MAX, MIN>
impl<const MAX: usize, const MIN: usize> Send for Linear<MAX, MIN>
impl<const MAX: usize, const MIN: usize> Sync for Linear<MAX, MIN>
impl<const MAX: usize, const MIN: usize> Unpin for Linear<MAX, MIN>
impl<const MAX: usize, const MIN: usize> UnsafeUnpin for Linear<MAX, MIN>
impl<const MAX: usize, const MIN: usize> UnwindSafe for Linear<MAX, MIN>
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