Struct acacia::data_tree::Tree
[−]
[src]
pub struct Tree<P, O, D> { /* fields omitted */ }
An N-dimensional tree
This tree does not know the dimension of its point at compile time, as it is not hard-coded and genericity over constants is unsupported in Rust.
Methods
impl<P, O, D> Tree<P, O, D> where
O: Position,
P: Partition<<O as Position>::Point>,
D: Clone,
[src]
O: Position,
P: Partition<<O as Position>::Point>,
D: Clone,
fn new<I, S, C>(
objects: I,
partition: P,
default: D,
single: &S,
combine: &C
) -> Result<Tree<P, O, D>, ConstructionError> where
I: Iterator<Item = O>,
S: Fn(&O) -> D,
C: Fn(&D, &D) -> D,
objects: I,
partition: P,
default: D,
single: &S,
combine: &C
) -> Result<Tree<P, O, D>, ConstructionError> where
I: Iterator<Item = O>,
S: Fn(&O) -> D,
C: Fn(&D, &D) -> D,
Construct the tree from an iterator
Trait Implementations
impl<P: Clone, O, D> Node for Tree<P, O, D>
[src]
type Partition = P
Type of spatial partitioning scheme
type Object = O
The type of object stored
type Container = Vec<Tree<P, O, D>>
Type of container used to store subnodes
fn state(&self) -> NodeState<&O, &Vec<Tree<P, O, D>>>
The state of the node
fn partition(&self) -> P
The partitioning scheme