14 #ifndef SPATIAL_COMPARE_BUILTIN_HPP
15 #define SPATIAL_COMPARE_BUILTIN_HPP
17 #include "spatial_import_type_traits.hpp"
18 #include "spatial_check_concept.hpp"
23 template<
typename Accessor,
typename Tp,
typename Unit>
struct accessor_minus;
41 template <
typename Tp>
43 : import::true_type { };
44 template <
typename Tp>
46 : import::true_type { };
47 template <
typename Tp>
49 : import::true_type { };
50 template <
typename Accessor,
typename Tp>
52 : import::true_type { };
60 template <
typename Ct>
69 template<
typename Container,
typename Enable =
void>
87 template<
typename Container>
104 struct builtin_difference { };
106 template<
typename Key>
114 template<
typename Key>
122 template<
typename Key>
130 template<
typename Key,
typename Accessor>
139 typedef typename builtin_difference
146 return builtin_difference
148 (container.key_comp());
163 template <
typename Tp,
typename Unit>
165 : import::true_type { };
166 template <
typename Tp,
typename Unit>
168 : import::true_type { };
169 template <
typename Tp,
typename Unit>
171 : import::true_type { };
172 template <
typename Accessor,
typename Tp,
typename Unit>
174 : import::true_type { };
212 template <
typename Diff,
typename DistanceType>
221 template <
typename Tp,
typename Unit,
typename DistanceType>
230 template <
typename Tp,
typename Unit,
typename DistanceType>
239 template <
typename Tp,
typename Unit,
typename DistanceType>
248 template <
typename Accessor,
typename Tp,
typename Unit,
249 typename DistanceType>
256 #endif // SPATIAL_COMPARE_BUILTIN_HPP
bracket_minus< Tp, DistanceType > type
Help to resolve whether the type used is a builtin comparator or not.
bracket_minus< Key, void > type
A comparator that simplifies using the spatial containers with a Key type that has coordiates accessi...
Statically resolve if key_compare used in the container corresponds to one of the builtin library com...
iterator_minus< Key, void > type
A comparator that simplifies using the spatial containers with a Key type that has coordinate that ar...
This functor uses the minus operator to calculate the difference between 2 elements of Tp along the d...
paren_minus< Key, void > type
This functor uses the minus operator to calculate the difference between 2 elements of Tp along the d...
Tp::key_compare key_compare
Comparison functor used to compare two instances of key_type.
A comparator that simplifies using the spatial containers with a Key type that has coordiates accessi...
paren_minus< Tp, DistanceType > type
A comparator that simplifies using the spatial containers with a Key type that has coordiates accessi...
accessor_minus< Accessor, Key, void > type
accessor_minus< Accessor, Tp, DistanceType > type
This functor uses the minus operator to calculate the difference between 2 elements of Tp along the d...
Help to resolve whether the type used is a builtin difference or not.
If Diff is a builtin difference type, change the current unit of Diff to the DistanceType specified i...
const Accessor & accessor() const
The main namespace used in the library.
This functor uses the minus operator to calculate the difference between 2 elements of Tp along the d...
iterator_minus< Tp, DistanceType > type
type operator()(const Container &container) const
Constructs the difference type from the built-in container's key compare operator.
builtin_difference< typename container_traits< Container >::key_compare >::type type
The generic helper class to determine if a container uses a built-in compare type.