|  | 
|  | KDTree (_Acc const &__acc=_Acc(), _Dist const &__dist=_Dist(), _Cmp const &__cmp=_Cmp(), const allocator_type &__a=allocator_type()) | 
|  | 
|  | KDTree (const KDTree &__x) | 
|  | 
| template<typename _InputIterator > | 
|  | KDTree (_InputIterator __first, _InputIterator __last, _Acc const &acc=_Acc(), _Dist const &__dist=_Dist(), _Cmp const &__cmp=_Cmp(), const allocator_type &__a=allocator_type()) | 
|  | 
| void | efficient_replace_and_optimise (std::vector< value_type > &writable_vector) | 
|  | 
| KDTree & | operator= (const KDTree &__x) | 
|  | 
| allocator_type | get_allocator () const | 
|  | 
| size_type | size () const | 
|  | 
| size_type | max_size () const | 
|  | 
| bool | empty () const | 
|  | 
| void | clear () | 
|  | 
| _Cmp | value_comp () const | 
|  | Comparator for the values in the KDTree.  More... 
 | 
|  | 
| _Acc | value_acc () const | 
|  | Accessor to the value's elements.  More... 
 | 
|  | 
| const _Dist & | value_distance () const | 
|  | Distance calculator between 2 value's element.  More... 
 | 
|  | 
| _Dist & | value_distance () | 
|  | 
| const_iterator | begin () const | 
|  | 
| const_iterator | end () const | 
|  | 
| const_reverse_iterator | rbegin () const | 
|  | 
| const_reverse_iterator | rend () const | 
|  | 
| iterator | insert (iterator, const_reference __V) | 
|  | 
| iterator | insert (const_reference __V) | 
|  | 
| template<class _InputIterator > | 
| void | insert (_InputIterator __first, _InputIterator __last) | 
|  | 
| void | insert (iterator __pos, size_type __n, const value_type &__x) | 
|  | 
| template<typename _InputIterator > | 
| void | insert (iterator __pos, _InputIterator __first, _InputIterator __last) | 
|  | 
| void | erase (const_reference __V) | 
|  | 
| void | erase_exact (const_reference __V) | 
|  | 
| void | erase (const_iterator const &__IT) | 
|  | 
| template<class SearchVal > | 
| const_iterator | find (SearchVal const &__V) const | 
|  | 
| template<class SearchVal > | 
| const_iterator | find_exact (SearchVal const &__V) const | 
|  | 
| size_type | count_within_range (const_reference __V, subvalue_type const __R) const | 
|  | 
| size_type | count_within_range (_Region_ const &__REGION) const | 
|  | 
| template<typename SearchVal , class Visitor > | 
| Visitor | visit_within_range (SearchVal const &V, subvalue_type const R, Visitor visitor) const | 
|  | 
| template<class Visitor > | 
| Visitor | visit_within_range (_Region_ const ®ION, Visitor visitor) const | 
|  | 
| const_iterator | find_within_range_iterative (const_reference __a, const_reference __b) | 
|  | 
| template<typename SearchVal , typename _OutputIterator > | 
| _OutputIterator | find_within_range (SearchVal const &val, subvalue_type const range, _OutputIterator out) const | 
|  | 
| template<typename _OutputIterator > | 
| _OutputIterator | find_within_range (_Region_ const ®ion, _OutputIterator out) const | 
|  | 
| template<class SearchVal > | 
| std::pair< const_iterator, distance_type > | find_nearest (SearchVal const &__val) const | 
|  | 
| template<class SearchVal > | 
| std::pair< const_iterator, distance_type > | find_nearest (SearchVal const &__val, distance_type __max) const | 
|  | 
| template<class SearchVal , class _Predicate > | 
| std::pair< const_iterator, distance_type > | find_nearest_if (SearchVal const &__val, distance_type __max, _Predicate __p) const | 
|  | 
| void | optimise () | 
|  | 
| void | optimize () | 
|  | 
| void | check_tree () | 
|  | 
|  | 
| void | _M_check_children (_Link_const_type child, _Link_const_type parent, size_type const level, bool to_the_left) | 
|  | 
| void | _M_check_node (_Link_const_type node, size_type const level) | 
|  | 
| void | _M_empty_initialise () | 
|  | 
| iterator | _M_insert_left (_Link_type __N, const_reference __V) | 
|  | 
| iterator | _M_insert_right (_Link_type __N, const_reference __V) | 
|  | 
| iterator | _M_insert (_Link_type __N, const_reference __V, size_type const __L) | 
|  | 
| _Link_type | _M_erase (_Link_type dead_dad, size_type const level) | 
|  | 
| _Link_type | _M_get_erase_replacement (_Link_type node, size_type const level) | 
|  | 
| std::pair< _Link_type, size_type > | _M_get_j_min (std::pair< _Link_type, size_type > const node, size_type const level) | 
|  | 
| std::pair< _Link_type, size_type > | _M_get_j_max (std::pair< _Link_type, size_type > const node, size_type const level) | 
|  | 
| void | _M_erase_subtree (_Link_type __n) | 
|  | 
| const_iterator | _M_find (_Link_const_type node, const_reference value, size_type const level) const | 
|  | 
| const_iterator | _M_find_exact (_Link_const_type node, const_reference value, size_type const level) const | 
|  | 
| bool | _M_matches_node_in_d (_Link_const_type __N, const_reference __V, size_type const __L) const | 
|  | 
| bool | _M_matches_node_in_other_ds (_Link_const_type __N, const_reference __V, size_type const __L=0) const | 
|  | 
| bool | _M_matches_node (_Link_const_type __N, const_reference __V, size_type __L=0) const | 
|  | 
| size_type | _M_count_within_range (_Link_const_type __N, _Region_ const &__REGION, _Region_ const &__BOUNDS, size_type const __L) const | 
|  | 
| template<class Visitor > | 
| Visitor | _M_visit_within_range (Visitor visitor, _Link_const_type N, _Region_ const ®ION, _Region_ const &BOUNDS, size_type const L) const | 
|  | 
| template<typename _OutputIterator > | 
| _OutputIterator | _M_find_within_range (_OutputIterator out, _Link_const_type __N, _Region_ const &__REGION, _Region_ const &__BOUNDS, size_type const __L) const | 
|  | 
| template<typename _Iter > | 
| void | _M_optimise (_Iter const &__A, _Iter const &__B, size_type const __L) | 
|  | 
| _Link_const_type | _M_get_root () const | 
|  | 
| _Link_type | _M_get_root () | 
|  | 
| void | _M_set_root (_Link_type n) | 
|  | 
| _Link_const_type | _M_get_leftmost () const | 
|  | 
| void | _M_set_leftmost (_Node_base *a) | 
|  | 
| _Link_const_type | _M_get_rightmost () const | 
|  | 
| void | _M_set_rightmost (_Node_base *a) | 
|  | 
| _Link_type | _M_new_node (const_reference __V, _Base_ptr const __PARENT=NULL, _Base_ptr const __LEFT=NULL, _Base_ptr const __RIGHT=NULL) | 
|  | 
| void | _M_delete_node (_Link_type __p) | 
|  | 
| _Node_ * | _M_allocate_node () | 
|  | 
| void | _M_deallocate_node (_Node_ *const __P) | 
|  | 
| void | _M_construct_node (_Node_ *__p, _Val const __V=_Val(), _Base_ptr const __PARENT=NULL, _Base_ptr const __LEFT=NULL, _Base_ptr const __RIGHT=NULL) | 
|  | 
| void | _M_destroy_node (_Node_ *__p) | 
|  | 
|  | _Alloc_base (allocator_type const &__A) | 
|  | 
| allocator_type | get_allocator () const | 
|  | 
template<size_t const __K, typename _Val, typename _Acc = _Bracket_accessor<_Val>, typename _Dist = squared_difference<typename _Acc::result_type,						typename _Acc::result_type>, typename _Cmp = std::less<typename _Acc::result_type>, typename _Alloc = std::allocator<_Node<_Val> >> 
  
  | 
        
          | _Acc kd_tree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_acc | ( |  | ) | const |  | inline | 
 
Accessor to the value's elements. 
This accessor shall not be modified, it could invalidate the tree. 
- Returns
- a copy of the accessor used by the KDTree. 
 
 
template<size_t const __K, typename _Val, typename _Acc = _Bracket_accessor<_Val>, typename _Dist = squared_difference<typename _Acc::result_type,						typename _Acc::result_type>, typename _Cmp = std::less<typename _Acc::result_type>, typename _Alloc = std::allocator<_Node<_Val> >> 
  
  | 
        
          | _Cmp kd_tree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_comp | ( |  | ) | const |  | inline | 
 
Comparator for the values in the KDTree. 
The comparator shall not be modified, it could invalidate the tree. 
- Returns
- a copy of the comparator used by the KDTree. 
 
 
template<size_t const __K, typename _Val, typename _Acc = _Bracket_accessor<_Val>, typename _Dist = squared_difference<typename _Acc::result_type,						typename _Acc::result_type>, typename _Cmp = std::less<typename _Acc::result_type>, typename _Alloc = std::allocator<_Node<_Val> >> 
  
  | 
        
          | const _Dist& kd_tree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_distance | ( |  | ) | const |  | inline | 
 
Distance calculator between 2 value's element. 
This functor can be modified. It's modification will only affect the behavior of the find and find_nearest functions. 
- Returns
- a reference to the distance calculator used by the KDTree.