 
container Data.
 
 
container Window.
 
 
container Traits.

#include <CGAL/Range_tree_d.h>
 
A range tree is
constructed, such that the subtree of each vertex is of the
same type prototype
sublayer_tree is. We assume that the dimension of the tree is $$d. This means, that sublayer_tree is a prototype of a $$d1dimensional tree. All data items of the $$ddimensional range tree have container type Data. The query window of the tree has container type Window. Traits provides access to the corresponding data slots of container Data and Window for the $$dth dimension. The traits class Traits must at least provide all functions and type definitions as described in, for example, the reference page for tree_point_traits. The template class described there is fully generic and should fulfill the most requirements one can have. In order to generate a onedimensional range tree instantiate Tree_anchor<Data, Window> sublayer_tree with the same template parameters (Data and Window) Range_tree_d is defined. In order to construct a twodimensional range tree, create Range_tree_d with a onedimensional Range_tree_d with the corresponding Traits class of the first dimension. Precondition: Traits::Data==Data and Traits::Window==Window.

 

 
All elements that lay inside the $$ddimensional interval defined through win are placed in the sequence container of OutputIterator; the output iterator that points to the last location the function wrote to is returned.  

 The tree structure is checked. For each vertex the subtree is checked on being valid and it is checked whether the value of the Key_type of a vertex corresponds to the highest Key_type value of the left subtree. 
Protected Operations

 
returns true, if the data of object lies between the start and endpoint of interval win. False otherwise.  

 returns false. 