13 #ifndef SPATIAL_POINT_MULTIMAP_HPP
14 #define SPATIAL_POINT_MULTIMAP_HPP
18 #include "function.hpp"
19 #include "bits/spatial_relaxed_kdtree.hpp"
28 typename Compare = bracket_less<Key>,
29 typename BalancingPolicy = loose_balancing,
30 typename Alloc = std::allocator<std::pair<const Key, Mapped> > >
33 std::pair<const Key, Mapped>, Compare,
34 BalancingPolicy, Alloc>
41 BalancingPolicy, Alloc>
Self;
49 : base_type(details::Static_rank<Rank>(), compare)
53 : base_type(details::Static_rank<Rank>(), compare, balancing)
58 : base_type(details::Static_rank<Rank>(), compare, balancing, alloc)
74 template<
typename Key,
typename Mapped,
typename Compare,
75 typename BalancingPolicy,
typename Alloc>
78 std::pair<const Key, Mapped>, Compare,
79 BalancingPolicy, Alloc>
94 : base_type(details::Dynamic_rank(dim))
98 : base_type(details::Dynamic_rank(dim), compare)
102 const BalancingPolicy& policy)
103 : base_type(details::Dynamic_rank(dim), compare, policy)
107 const BalancingPolicy& policy,
const Alloc& alloc)
108 : base_type(details::Dynamic_rank(dim), compare, policy, alloc)
112 : base_type(details::Dynamic_rank(), compare)
116 : base_type(details::Dynamic_rank(), compare, policy)
121 : base_type(details::Dynamic_rank(), compare, policy, alloc)
134 #endif // SPATIAL_POINT_MULTIMAP_HPP
Relaxed_kdtree & operator=(const Relaxed_kdtree &other)
Assignment of other into the tree, with deep copy.
point_multimap(const Compare &compare, const BalancingPolicy &policy)
point_multimap(dimension_type dim, const Compare &compare, const BalancingPolicy &policy, const Alloc &alloc)
Detailed implementation of the kd-tree.
The dimension value is stored by a member of the object, but can be modified at run time...
point_multimap(const Compare &compare, const BalancingPolicy &balancing, const Alloc &alloc)
details::Relaxed_kdtree< details::Dynamic_rank, const Key, std::pair< const Key, Mapped >, Compare, BalancingPolicy, Alloc > base_type
point_multimap(const Compare &compare, const BalancingPolicy &policy, const Alloc &alloc)
point_multimap< 0, Key, Mapped, Compare, BalancingPolicy, Alloc > Self
details::Relaxed_kdtree< details::Static_rank< Rank >, const Key, std::pair< const Key, Mapped >, Compare, BalancingPolicy, Alloc > base_type
point_multimap(const point_multimap &other)
void check_rank(dimension_type rank)
Checks that rank is not null.
balancing_policy balancing() const
Returns the balancing policy for the container.
point_multimap & operator=(const point_multimap &other)
point_multimap(dimension_type dim, const Compare &compare)
std::size_t dimension_type
Defines the type for the dimension as being a size.
point_multimap(const point_multimap &other)
The dimension value is set by a template value, thus consuming no memory.
The main namespace used in the library.
point_multimap(dimension_type dim, const Compare &compare, const BalancingPolicy &policy)
point_multimap< Rank, Key, Mapped, Compare, BalancingPolicy, Alloc > Self
point_multimap(const Compare &compare)
point_multimap & operator=(const point_multimap &other)
These containers are mapped containers and store values in space that can be represented as points...
point_multimap(dimension_type dim)
point_multimap(const Compare &compare, const BalancingPolicy &balancing)
When specified with a null dimension, the rank of the point_multimap can be determined at run time an...
point_multimap(const Compare &compare)