#include <kdtree.hpp>
Public Types | |
typedef _Region< __K, _Val, typename _Acc::result_type, _Acc, _Cmp > | _Region_ |
typedef _Val | value_type |
typedef value_type * | pointer |
typedef value_type const * | const_pointer |
typedef value_type & | reference |
typedef value_type const & | const_reference |
typedef _Acc::result_type | subvalue_type |
typedef _Dist::distance_type | distance_type |
typedef size_t | size_type |
typedef ptrdiff_t | difference_type |
typedef _Iterator< _Val, const_reference, const_pointer > | const_iterator |
typedef const_iterator | iterator |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef std::reverse_iterator < iterator > | reverse_iterator |
Public Member Functions | |
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) |
~KDTree () | |
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. | |
_Acc | value_acc () const |
Accessor to the value's elements. | |
const _Dist & | value_distance () const |
Distance calculator between 2 value's element. | |
_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 () |
Protected Types | |
typedef _Alloc_base< _Val, _Alloc > | _Base |
typedef _Base::allocator_type | allocator_type |
typedef _Node_base * | _Base_ptr |
typedef _Node_base const * | _Base_const_ptr |
typedef _Node< _Val > * | _Link_type |
typedef _Node< _Val > const * | _Link_const_type |
typedef _Node_compare< _Val, _Acc, _Cmp > | _Node_compare_ |
Protected Member Functions | |
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) |
Static Protected Member Functions | |
static _Link_type | _S_parent (_Base_ptr N) |
static _Link_const_type | _S_parent (_Base_const_ptr N) |
static void | _S_set_parent (_Base_ptr N, _Base_ptr p) |
static void | _S_set_left (_Base_ptr N, _Base_ptr l) |
static _Link_type | _S_left (_Base_ptr N) |
static _Link_const_type | _S_left (_Base_const_ptr N) |
static void | _S_set_right (_Base_ptr N, _Base_ptr r) |
static _Link_type | _S_right (_Base_ptr N) |
static _Link_const_type | _S_right (_Base_const_ptr N) |
static bool | _S_is_leaf (_Base_const_ptr N) |
static const_reference | _S_value (_Link_const_type N) |
static const_reference | _S_value (_Base_const_ptr N) |
static _Link_const_type | _S_minimum (_Link_const_type __X) |
static _Link_const_type | _S_maximum (_Link_const_type __X) |
Protected Attributes | |
_Link_type | _M_root |
_Node_base | _M_header |
size_type | _M_count |
_Acc | _M_acc |
_Cmp | _M_cmp |
_Dist | _M_dist |
typedef _Alloc_base<_Val, _Alloc> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_Base [protected] |
typedef _Base::allocator_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::allocator_type [protected] |
Reimplemented from KDTree::_Alloc_base< _Val, _Alloc >.
typedef _Node_base* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_Base_ptr [protected] |
Reimplemented from KDTree::_Alloc_base< _Val, _Alloc >.
typedef _Node_base const* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_Base_const_ptr [protected] |
typedef _Node<_Val>* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_Link_type [protected] |
typedef _Node<_Val> const* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_Link_const_type [protected] |
typedef _Node_compare<_Val, _Acc, _Cmp> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_Node_compare_ [protected] |
typedef _Region<__K, _Val, typename _Acc::result_type, _Acc, _Cmp> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_Region_ |
typedef _Val KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_type |
typedef value_type* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::pointer |
typedef value_type const* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_pointer |
typedef value_type& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::reference |
typedef value_type const& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_reference |
typedef _Acc::result_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::subvalue_type |
typedef _Dist::distance_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::distance_type |
typedef size_t KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::size_type |
typedef ptrdiff_t KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::difference_type |
typedef _Iterator<_Val, const_reference, const_pointer> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_iterator |
typedef const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::iterator |
typedef std::reverse_iterator<const_iterator> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_reverse_iterator |
typedef std::reverse_iterator<iterator> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::reverse_iterator |
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree | ( | _Acc const & | __acc = _Acc() , |
|
_Dist const & | __dist = _Dist() , |
|||
_Cmp const & | __cmp = _Cmp() , |
|||
const allocator_type & | __a = allocator_type() | |||
) | [inline] |
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree | ( | const KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc > & | __x | ) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_empty_initialise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_optimise(), std::back_inserter(), std::vector< _Tp, _Alloc >::begin(), std::copy(), std::vector< _Tp, _Alloc >::end(), and std::vector< _Tp, _Alloc >::reserve().
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree | ( | _InputIterator | __first, | |
_InputIterator | __last, | |||
_Acc const & | acc = _Acc() , |
|||
_Dist const & | __dist = _Dist() , |
|||
_Cmp const & | __cmp = _Cmp() , |
|||
const allocator_type & | __a = allocator_type() | |||
) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_empty_initialise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_optimise(), std::back_inserter(), std::vector< _Tp, _Alloc >::begin(), std::copy(), std::distance(), std::vector< _Tp, _Alloc >::end(), and std::vector< _Tp, _Alloc >::reserve().
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::~KDTree | ( | ) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::efficient_replace_and_optimise | ( | std::vector< value_type > & | writable_vector | ) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_optimise(), std::vector< _Tp, _Alloc >::begin(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), and std::vector< _Tp, _Alloc >::end().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::operator=().
KDTree& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::operator= | ( | const KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc > & | __x | ) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_dist, std::back_inserter(), std::copy(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::efficient_replace_and_optimise(), and std::vector< _Tp, _Alloc >::reserve().
allocator_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::get_allocator | ( | ) | const [inline] |
Reimplemented from KDTree::_Alloc_base< _Val, _Alloc >.
References KDTree::_Alloc_base< _Val, _Alloc >::get_allocator().
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::size | ( | ) | const [inline] |
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::max_size | ( | ) | const [inline] |
bool KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::empty | ( | ) | const [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear | ( | ) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase_subtree(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_rightmost(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_root().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::efficient_replace_and_optimise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimise(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::~KDTree().
_Cmp KDTree::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.
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp.
_Acc KDTree::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.
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc.
const _Dist& KDTree::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.
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_dist.
_Dist& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_distance | ( | ) | [inline] |
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::begin | ( | ) | const [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_leftmost().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range_iterative(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimise(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rend().
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end | ( | ) | const [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimise(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rbegin().
const_reverse_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rbegin | ( | ) | const [inline] |
const_reverse_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rend | ( | ) | const [inline] |
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | iterator | , | |
const_reference | __V | |||
) | [inline] |
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | const_reference | __V | ) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_new_node(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_rightmost(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_root().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | _InputIterator | __first, | |
_InputIterator | __last | |||
) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | iterator | __pos, | |
size_type | __n, | |||
const value_type & | __x | |||
) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | iterator | __pos, | |
_InputIterator | __first, | |||
_InputIterator | __last | |||
) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase | ( | const_reference | __V | ) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase_exact | ( | const_reference | __V | ) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase | ( | const_iterator const & | __IT | ) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_delete_node(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_parent(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end(), and KDTree::_Iterator< _Val, _Ref, _Ptr >::get_raw_node().
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find | ( | SearchVal const & | __V | ) | const [inline] |
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_exact | ( | SearchVal const & | __V | ) | const [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase_exact().
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range | ( | const_reference | __V, | |
subvalue_type const | __R | |||
) | const [inline] |
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range | ( | _Region_ const & | __REGION | ) | const [inline] |
Visitor KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range | ( | SearchVal const & | V, | |
subvalue_type const | R, | |||
Visitor | visitor | |||
) | const [inline] |
Visitor KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range | ( | _Region_ const & | REGION, | |
Visitor | visitor | |||
) | const [inline] |
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range_iterative | ( | const_reference | __a, | |
const_reference | __b | |||
) | [inline] |
_OutputIterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range | ( | SearchVal const & | val, | |
subvalue_type const | range, | |||
_OutputIterator | out | |||
) | const [inline] |
_OutputIterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range | ( | _Region_ const & | region, | |
_OutputIterator | out | |||
) | const [inline] |
std::pair<const_iterator, distance_type> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest | ( | SearchVal const & | __val | ) | const [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_dist, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, KDTree::_S_accumulate_node_distance(), KDTree::_S_node_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end(), std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.
std::pair<const_iterator, distance_type> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest | ( | SearchVal const & | __val, | |
distance_type | __max | |||
) | const [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_dist, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, KDTree::_S_accumulate_node_distance(), KDTree::_S_node_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end(), std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.
std::pair<const_iterator, distance_type> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if | ( | SearchVal const & | __val, | |
distance_type | __max, | |||
_Predicate | __p | |||
) | const [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_dist, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, KDTree::_S_accumulate_node_distance(), KDTree::_S_node_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end(), std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimise | ( | ) | [inline] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_optimise(), std::vector< _Tp, _Alloc >::begin(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::begin(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), std::vector< _Tp, _Alloc >::end(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimize().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimize | ( | ) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::check_tree | ( | ) | [inline] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_children | ( | _Link_const_type | child, | |
_Link_const_type | parent, | |||
size_type const | level, | |||
bool | to_the_left | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::_Node< _Val >::_M_value, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_node().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_node | ( | _Link_const_type | node, | |
size_type const | level | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_children(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::check_tree().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_empty_initialise | ( | ) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, KDTree::_Node_base::_M_parent, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_rightmost(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_root().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree().
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_left | ( | _Link_type | __N, | |
const_reference | __V | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_new_node(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_left(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_parent().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert().
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_right | ( | _Link_type | __N, | |
const_reference | __V | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_rightmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_new_node(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_rightmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_parent(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_right().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert().
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert | ( | _Link_type | __N, | |
const_reference | __V, | |||
size_type const | __L | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_rightmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_right(), KDTree::_Node< _Val >::_M_value, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert().
_Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase | ( | _Link_type | dead_dad, | |
size_type const | level | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_rightmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_rightmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_root(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_parent(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_parent(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_right().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase().
_Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement | ( | _Link_type | node, | |
size_type const | level | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_max(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_min(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_is_leaf(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_parent(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_right(), std::pair< _T1, _T2 >::first, and std::pair< _T1, _T2 >::second.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase().
std::pair<_Link_type,size_type> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_min | ( | std::pair< _Link_type, size_type > const | node, | |
size_type const | level | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_is_leaf(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), std::pair< _T1, _T2 >::first, left(), right(), and std::pair< _T1, _T2 >::second.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement().
std::pair<_Link_type,size_type> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_max | ( | std::pair< _Link_type, size_type > const | node, | |
size_type const | level | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_is_leaf(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), std::pair< _T1, _T2 >::first, left(), right(), and std::pair< _T1, _T2 >::second.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase_subtree | ( | _Link_type | __n | ) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_delete_node(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear().
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find | ( | _Link_const_type | node, | |
const_reference | value, | |||
size_type const | level | |||
) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node(), KDTree::_Node< _Val >::_M_value, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find().
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_exact | ( | _Link_const_type | node, | |
const_reference | value, | |||
size_type const | level | |||
) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::_Node< _Val >::_M_value, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_exact().
bool KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node_in_d | ( | _Link_const_type | __N, | |
const_reference | __V, | |||
size_type const | __L | |||
) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, and KDTree::_Node< _Val >::_M_value.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node_in_other_ds().
bool KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node_in_other_ds | ( | _Link_const_type | __N, | |
const_reference | __V, | |||
size_type const | __L = 0 | |||
) | const [inline, protected] |
bool KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node | ( | _Link_const_type | __N, | |
const_reference | __V, | |||
size_type | __L = 0 | |||
) | const [inline, protected] |
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count_within_range | ( | _Link_const_type | __N, | |
_Region_ const & | __REGION, | |||
_Region_ const & | __BOUNDS, | |||
size_type const | __L | |||
) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_value(), count(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::encloses(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::intersects_with(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::set_high_bound(), and KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::set_low_bound().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range().
Visitor KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_visit_within_range | ( | Visitor | visitor, | |
_Link_const_type | N, | |||
_Region_ const & | REGION, | |||
_Region_ const & | BOUNDS, | |||
size_type const | L | |||
) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_value(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::encloses(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::intersects_with(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::set_high_bound(), and KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::set_low_bound().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range().
_OutputIterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_within_range | ( | _OutputIterator | out, | |
_Link_const_type | __N, | |||
_Region_ const & | __REGION, | |||
_Region_ const & | __BOUNDS, | |||
size_type const | __L | |||
) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_value(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::encloses(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::intersects_with(), KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::set_high_bound(), and KDTree::_Region< __K, _Val, _SubVal, _Acc, _Cmp >::set_low_bound().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_optimise | ( | _Iter const & | __A, | |
_Iter const & | __B, | |||
size_type const | __L | |||
) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp, KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert(), and std::nth_element().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::efficient_replace_and_optimise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimise().
_Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root | ( | ) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_root.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::check_tree(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range().
_Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_root | ( | ) | [inline, protected] |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_root | ( | _Link_type | n | ) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_root.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_empty_initialise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert().
_Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_leftmost | ( | ) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, and KDTree::_Node_base::_M_left.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_left(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::begin().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_leftmost | ( | _Node_base * | a | ) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, and KDTree::_Node_base::_M_left.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_empty_initialise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert().
_Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_rightmost | ( | ) | const [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, and KDTree::_Node_base::_M_right.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_right().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_rightmost | ( | _Node_base * | a | ) | [inline, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header, and KDTree::_Node_base::_M_right.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_empty_initialise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert().
static _Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_parent | ( | _Base_ptr | N | ) | [inline, static, protected] |
static _Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_parent | ( | _Base_const_ptr | N | ) | [inline, static, protected] |
static void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_parent | ( | _Base_ptr | N, | |
_Base_ptr | p | |||
) | [inline, static, protected] |
static void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_left | ( | _Base_ptr | N, | |
_Base_ptr | l | |||
) | [inline, static, protected] |
static _Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left | ( | _Base_ptr | N | ) | [inline, static, protected] |
References KDTree::_Node_base::_M_left.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_children(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_node(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase_subtree(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_max(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_min(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_visit_within_range(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_is_leaf().
static _Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left | ( | _Base_const_ptr | N | ) | [inline, static, protected] |
static void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_set_right | ( | _Base_ptr | N, | |
_Base_ptr | r | |||
) | [inline, static, protected] |
static _Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right | ( | _Base_ptr | N | ) | [inline, static, protected] |
References KDTree::_Node_base::_M_right.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_children(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_node(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_erase_subtree(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_max(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_min(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_visit_within_range(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_is_leaf().
static _Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right | ( | _Base_const_ptr | N | ) | [inline, static, protected] |
static bool KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_is_leaf | ( | _Base_const_ptr | N | ) | [inline, static, protected] |
References KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_left(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_right().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_max(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_min().
static const_reference KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_value | ( | _Link_const_type | N | ) | [inline, static, protected] |
References KDTree::_Node< _Val >::_M_value.
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_within_range(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_visit_within_range().
static const_reference KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_value | ( | _Base_const_ptr | N | ) | [inline, static, protected] |
static _Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_minimum | ( | _Link_const_type | __X | ) | [inline, static, protected] |
References KDTree::_Node_base::_S_minimum().
static _Link_const_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_S_maximum | ( | _Link_const_type | __X | ) | [inline, static, protected] |
References KDTree::_Node_base::_S_maximum().
_Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_new_node | ( | const_reference | __V, | |
_Base_ptr const | __PARENT = NULL , |
|||
_Base_ptr const | __LEFT = NULL , |
|||
_Base_ptr const | __RIGHT = NULL | |||
) | [inline, protected] |
References KDTree::_Alloc_base< _Val, _Alloc >::_M_construct_node().
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_right(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_delete_node | ( | _Link_type | __p | ) | [inline, protected] |
_Link_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_root [protected] |
_Node_base KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_header [protected] |
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_empty_initialise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_rightmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_leftmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_set_rightmost(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert().
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_count [protected] |
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_left(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert_right(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::size().
_Acc KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_acc [protected] |
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_children(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_max(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_min(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node_in_d(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_optimise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::operator=(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_acc(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range().
_Cmp KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_cmp [protected] |
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_check_children(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_find_exact(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_erase_replacement(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_max(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_get_j_min(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_insert(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_matches_node_in_d(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_optimise(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::operator=(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_comp(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range().
_Dist KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::_M_dist [protected] |
Referenced by KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if(), KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::operator=(), and KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_distance().