The class K_neighbor_search<Traits, GeneralDistance, Splitter, SpatialTree> implements approximate $$knearest and $$kfurthest neighbor searching using standard search on a tree using a general distance class. The tree may be built with extended or unextended nodes.
#include <CGAL/K_neighbor_search.h>
Expects for the first template argument an implementation of the concept SearchTraits, for example CGAL::Cartesian_d<double>.
Expects for the second template argument a model of the concept GeneralDistance. The default type is CGAL::Euclidean_distance<Traits>.
Expects for fourth template argument an implementation of the concept SpatialTree. The default type is CGAL::Kd_tree<Traits, Splitter, CGAL::Tag_false>. The template argument CGAL::Tag_false makes that the tree is built with unextended nodes.

 Point type. 

 Number type. 
 
 
Pair of point and transformed distance. 
 
Bidirectional iterator with value type Point_with_distance
for enumerating approximate neighbors.

 
 Query item type.  

 The tree type. 
 
Constructor for searching approximately $$k neighbors of the query item q
in the points stored in tree using
distance class $$d and approximation factor eps.


 Returns an iterator to the approximate neighbors. 

 Pasttheend iterator. 
advanced 

 
Inserts statistics of the search process into the output stream s. 
advanced 
CGAL::Orthogonal_k_neighbor_search<Traits, OrthogonalDistance, Splitter, SpatialTree>.