13 #ifndef SPATIAL_IDLE_POINT_MULTIMAP_HPP
14 #define SPATIAL_IDLE_POINT_MULTIMAP_HPP
18 #include "function.hpp"
19 #include "bits/spatial_kdtree.hpp"
29 typename Compare = bracket_less<Key>,
30 typename Alloc = std::allocator<std::pair<const Key, Mapped> > >
33 std::pair<const Key, Mapped>, Compare, Alloc>
37 std::pair<const Key, Mapped>, Compare,
48 : base_type(details::Static_rank<Rank>(), compare)
52 : base_type(details::Static_rank<Rank>(), compare, alloc)
56 : base_type(other, balancing)
70 template<
typename Key,
typename Mapped,
typename Compare,
typename Alloc>
73 std::pair<const Key, Mapped>, Compare, Alloc>
77 std::pair<const Key, Mapped>,
87 : base_type(details::Dynamic_rank(dim))
91 : base_type(details::Dynamic_rank(dim), compare)
100 : base_type(details::Dynamic_rank(dim), compare, alloc)
104 : base_type(details::Dynamic_rank(), compare, alloc)
108 bool balancing =
false)
109 : base_type(other, balancing)
121 #endif // SPATIAL_IDLE_POINT_MULTIMAP_HPP
When specified with a null dimension, the rank of the point_multimap can be determined at run time an...
The dimension value is stored by a member of the object, but can be modified at run time...
idle_point_multimap(const Compare &compare, const Alloc &alloc)
idle_point_multimap(dimension_type dim, const Compare &compare)
idle_point_multimap(const idle_point_multimap &other, bool balancing=false)
These containers are mapped containers and store values in space that can be represented as points...
idle_point_multimap & operator=(const idle_point_multimap &other)
idle_point_multimap(const Compare &compare)
idle_point_multimap(dimension_type dim, const Compare &compare, const Alloc &alloc)
idle_point_multimap< 0, Key, Mapped, Compare, Alloc > Self
void check_rank(dimension_type rank)
Checks that rank is not null.
idle_point_multimap< Rank, Key, Mapped, Compare, Alloc > Self
idle_point_multimap(const Compare &compare, const Alloc &alloc)
idle_point_multimap & operator=(const idle_point_multimap &other)
std::size_t dimension_type
Defines the type for the dimension as being a size.
idle_point_multimap(const idle_point_multimap &other, bool balancing=false)
The main namespace used in the library.
Detailed implementation of the kd-tree.
details::Kdtree< details::Dynamic_rank, const Key, std::pair< const Key, Mapped >, Compare, Alloc > base_type
idle_point_multimap(const Compare &compare)
Self & operator=(const Self &other)
Assignment of other into the tree, with deep copy.
details::Kdtree< details::Static_rank< Rank >, const Key, std::pair< const Key, Mapped >, Compare, Alloc > base_type
idle_point_multimap(dimension_type dim)