13 #ifndef SPATIAL_IDLE_BOX_MULTISET_HPP
14 #define SPATIAL_IDLE_BOX_MULTISET_HPP
17 #include "function.hpp"
18 #include "bits/spatial_check_concept.hpp"
19 #include "bits/spatial_kdtree.hpp"
34 typename Compare = bracket_less<Key>,
35 typename Alloc = std::allocator<Key> >
37 :
public details::Kdtree<details::Static_rank<Rank>, const Key, const Key,
52 : base_type(details::Static_rank<Rank>(), compare)
56 : base_type(details::Static_rank<Rank>(), compare, alloc)
60 : base_type(other, balancing)
82 template<
typename Key,
typename Compare,
typename Alloc>
96 : base_type(details::Dynamic_rank(dim))
100 : base_type(details::Dynamic_rank(dim), compare)
104 : base_type(details::Dynamic_rank(2), compare)
109 : base_type(details::Dynamic_rank(dim), compare, alloc)
113 : base_type(details::Dynamic_rank(2), compare, alloc)
117 : base_type(other, balancing)
129 #endif // SPATIAL_IDLE_BOX_MULTISET_HPP
idle_box_multiset(dimension_type dim, const Compare &compare)
Non-associative containers that and store values in space that can be represented as boxes...
The dimension value is stored by a member of the object, but can be modified at run time...
idle_box_multiset(const Compare &compare, const Alloc &alloc)
idle_box_multiset(const Compare &compare)
idle_box_multiset(const Compare &compare, const Alloc &alloc)
idle_box_multiset< Rank, Key, Compare, Alloc > Self
idle_box_multiset(const idle_box_multiset &other, bool balancing=false)
void check_even_rank(dimension_type rank)
Checks that rank is not null and that it is a multiple of 2.
idle_box_multiset< 0, Key, Compare, Alloc > Self
details::Kdtree< details::Static_rank< Rank >, const Key, const Key, Compare, Alloc > base_type
idle_box_multiset(dimension_type dim)
idle_box_multiset(dimension_type dim, const Compare &compare, const Alloc &alloc)
idle_box_multiset(const Compare &compare)
std::size_t dimension_type
Defines the type for the dimension as being a size.
Specialization for spatial::idle_box_multiset with runtime rank support.
idle_box_multiset(const idle_box_multiset &other, bool balancing=false)
If B is true, spatial::enable_if has a public member typedef type, equal to Tp; otherwise, there is no member typedef.
The main namespace used in the library.
details::Kdtree< details::Dynamic_rank, const Key, const Key, Compare, Alloc > base_type
enable_if_c<(Rank &1u)==0 >::type check_concept_dimension_is_even
Detailed implementation of the kd-tree.
Self & operator=(const Self &other)
Assignment of other into the tree, with deep copy.
idle_box_multiset & operator=(const idle_box_multiset &other)
idle_box_multiset & operator=(const idle_box_multiset &other)