pub struct Quadratic<const MAX: usize = 32, const MIN: usize = 9>;Expand description
Quadratic split — Boost’s textbook default.
O(n²): pick the two children whose combined bounding box wastes the
most area as the seeds of the two groups, then assign each remaining
child to whichever group’s box it enlarges least. Mirrors
index/detail/rtree/quadratic/redistribute_elements.hpp.
The type’s own <32, 9> default is a symmetric alternative; it is not the
default strategy of crate::Rtree. Treat an explicit strategy choice as
a workload-specific opt-in and follow the module tuning guide.
Trait Implementations§
impl<const MAX: usize, const MIN: usize> Copy for Quadratic<MAX, MIN>
Source§impl<const MAX: usize, const MIN: usize> SplitParameters for Quadratic<MAX, MIN>
impl<const MAX: usize, const MIN: usize> SplitParameters for Quadratic<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 Quadratic<MAX, MIN>
impl<const MAX: usize, const MIN: usize> RefUnwindSafe for Quadratic<MAX, MIN>
impl<const MAX: usize, const MIN: usize> Send for Quadratic<MAX, MIN>
impl<const MAX: usize, const MIN: usize> Sync for Quadratic<MAX, MIN>
impl<const MAX: usize, const MIN: usize> Unpin for Quadratic<MAX, MIN>
impl<const MAX: usize, const MIN: usize> UnsafeUnpin for Quadratic<MAX, MIN>
impl<const MAX: usize, const MIN: usize> UnwindSafe for Quadratic<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