KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc > Class Template Reference

#include <kdtree.hpp>

Public Types

typedef _Iterator< _Val, const_reference, const_pointerconst_iterator
 
typedef value_type const * const_pointer
 
typedef value_type const & const_reference
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef ptrdiff_t difference_type
 
typedef _Dist::distance_type distance_type
 
typedef const_iterator iterator
 
typedef value_typepointer
 
typedef value_typereference
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef size_t size_type
 
typedef _Acc::result_type subvalue_type
 
typedef _Val value_type
 

Public Member Functions

const_iterator begin () const
 
void check_tree ()
 
void clear ()
 
size_type count_within_range (_Region_ const &__REGION) const
 
size_type count_within_range (const_reference __V, subvalue_type const __R) const
 
void efficient_replace_and_optimise (std::vector< value_type > &writable_vector)
 
bool empty () const
 
const_iterator end () const
 
void erase (const_iterator const &__IT)
 
void erase (const_reference __V)
 
void erase_exact (const_reference __V)
 
template<class SearchVal >
const_iterator find (SearchVal const &__V) const
 
template<class SearchVal >
const_iterator find_exact (SearchVal const &__V) const
 
template<class SearchVal >
std::pair< const_iterator, distance_typefind_nearest (SearchVal const &__val) const
 
template<class SearchVal >
std::pair< const_iterator, distance_typefind_nearest (SearchVal const &__val, distance_type __max) const
 
template<class SearchVal , class _Predicate >
std::pair< const_iterator, distance_typefind_nearest_if (SearchVal const &__val, distance_type __max, _Predicate __p) const
 
template<typename _OutputIterator >
_OutputIterator find_within_range (_Region_ const &region, _OutputIterator out) const
 
template<typename SearchVal , typename _OutputIterator >
_OutputIterator find_within_range (SearchVal const &val, subvalue_type const range, _OutputIterator out) const
 
const_iterator find_within_range_iterative (const_reference, const_reference)
 
allocator_type get_allocator () const
 
template<class _InputIterator >
void insert (_InputIterator __first, _InputIterator __last)
 
iterator insert (const_reference __V)
 
template<typename _InputIterator >
void insert (iterator __pos, _InputIterator __first, _InputIterator __last)
 
void insert (iterator __pos, size_type __n, const value_type &__x)
 
iterator insert (iterator, const_reference __V)
 
 KDTree (_Acc const &__acc=_Acc(), _Dist const &__dist=_Dist(), _Cmp const &__cmp=_Cmp(), const allocator_type &__a=allocator_type())
 
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())
 
 KDTree (const KDTree &__x)
 
size_type max_size () const
 
KDTreeoperator= (const KDTree &__x)
 
void optimise ()
 
void optimize ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
size_type size () const
 
_Acc value_acc () const
 Accessor to the value's elements. More...
 
_Cmp value_comp () const
 Comparator for the values in the KDTree. More...
 
_Dist & value_distance ()
 
const _Dist & value_distance () const
 Distance calculator between 2 value's element. More...
 
template<class Visitor >
Visitor visit_within_range (_Region_ const &REGION, Visitor visitor) const
 
template<typename SearchVal , class Visitor >
Visitor visit_within_range (SearchVal const &V, subvalue_type const R, Visitor visitor) const
 
 ~KDTree ()
 

Protected Types

typedef _Base::allocator_type allocator_type
 

Member Typedef Documentation

◆ allocator_type

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> >>
typedef _Base::allocator_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::allocator_type
protected

◆ const_iterator

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> >>
typedef _Iterator<_Val, const_reference, const_pointer> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_iterator

◆ const_pointer

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> >>
typedef value_type const* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_pointer

◆ const_reference

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> >>
typedef value_type const& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_reference

◆ const_reverse_iterator

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> >>
typedef std::reverse_iterator<const_iterator> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_reverse_iterator

◆ difference_type

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> >>
typedef ptrdiff_t KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::difference_type

◆ distance_type

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> >>
typedef _Dist::distance_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::distance_type

◆ iterator

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> >>
typedef const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::iterator

◆ pointer

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> >>
typedef value_type* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::pointer

◆ reference

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> >>
typedef value_type& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::reference

◆ reverse_iterator

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> >>
typedef std::reverse_iterator<iterator> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::reverse_iterator

◆ size_type

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> >>
typedef size_t KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::size_type

◆ subvalue_type

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> >>
typedef _Acc::result_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::subvalue_type

◆ value_type

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> >>
typedef _Val KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_type

Constructor & Destructor Documentation

◆ KDTree() [1/3]

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> >>
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() 
)

◆ KDTree() [2/3]

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> >>
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree ( const KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc > &  __x)

◆ KDTree() [3/3]

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> >>
template<typename _InputIterator >
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() 
)

◆ ~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> >>
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::~KDTree ( )

Member Function Documentation

◆ begin()

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_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::begin ( ) const

◆ check_tree()

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::check_tree ( )

◆ clear()

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear ( )

◆ count_within_range() [1/2]

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> >>
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range ( _Region_ const &  __REGION) const

◆ count_within_range() [2/2]

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> >>
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range ( const_reference  __V,
subvalue_type const  __R 
) const

◆ efficient_replace_and_optimise()

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::efficient_replace_and_optimise ( std::vector< value_type > &  writable_vector)

◆ empty()

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> >>
bool KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::empty ( ) const

◆ end()

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_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end ( ) const

◆ erase() [1/2]

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase ( const_iterator const &  __IT)

◆ erase() [2/2]

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase ( const_reference  __V)

References DraftVecUtils::find().

◆ erase_exact()

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase_exact ( const_reference  __V)

◆ find()

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> >>
template<class SearchVal >
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find ( SearchVal const &  __V) const

◆ find_exact()

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> >>
template<class SearchVal >
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_exact ( SearchVal const &  __V) const

◆ find_nearest() [1/2]

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> >>
template<class SearchVal >
std::pair< const_iterator, distance_type > KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest ( SearchVal const &  __val) const

◆ find_nearest() [2/2]

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> >>
template<class SearchVal >
std::pair< const_iterator, distance_type > KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest ( SearchVal const &  __val,
distance_type  __max 
) const

◆ find_nearest_if()

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> >>
template<class SearchVal , class _Predicate >
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

◆ find_within_range() [1/2]

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> >>
template<typename _OutputIterator >
_OutputIterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range ( _Region_ const &  region,
_OutputIterator  out 
) const

◆ find_within_range() [2/2]

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> >>
template<typename SearchVal , typename _OutputIterator >
_OutputIterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range ( SearchVal const &  val,
subvalue_type const  range,
_OutputIterator  out 
) const

◆ find_within_range_iterative()

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_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range_iterative ( const_reference  ,
const_reference   
)

◆ get_allocator()

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> >>
allocator_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::get_allocator ( ) const

◆ insert() [1/5]

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> >>
template<class _InputIterator >
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert ( _InputIterator  __first,
_InputIterator  __last 
)

◆ insert() [2/5]

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> >>
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert ( const_reference  __V)

◆ insert() [3/5]

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> >>
template<typename _InputIterator >
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert ( iterator  __pos,
_InputIterator  __first,
_InputIterator  __last 
)

◆ insert() [4/5]

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert ( iterator  __pos,
size_type  __n,
const value_type __x 
)

◆ insert() [5/5]

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> >>
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert ( iterator  ,
const_reference  __V 
)

◆ max_size()

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> >>
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::max_size ( ) const

◆ operator=()

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> >>
KDTree & KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::operator= ( const KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc > &  __x)

◆ optimise()

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimise ( )

◆ optimize()

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> >>
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimize ( )

◆ rbegin()

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_reverse_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rbegin ( ) const

◆ rend()

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_reverse_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rend ( ) const

◆ size()

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> >>
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::size ( ) const

◆ value_acc()

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 KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_acc ( ) const

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.

◆ value_comp()

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 KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_comp ( ) const

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.

◆ value_distance() [1/2]

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> >>
_Dist & KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_distance ( )

◆ value_distance() [2/2]

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 & KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_distance ( ) const

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.

◆ visit_within_range() [1/2]

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> >>
template<class Visitor >
Visitor KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range ( _Region_ const &  REGION,
Visitor  visitor 
) const

◆ visit_within_range() [2/2]

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> >>
template<typename SearchVal , class Visitor >
Visitor KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range ( SearchVal const &  V,
subvalue_type const  R,
Visitor  visitor 
) const

The documentation for this class was generated from the following file: