1 | // Boost.Geometry Index |
2 | // |
3 | // Copyright (c) 2011-2015 Adam Wulkiewicz, Lodz, Poland. |
4 | // |
5 | // Use, modification and distribution is subject to the Boost Software License, |
6 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at |
7 | // http://www.boost.org/LICENSE_1_0.txt) |
8 | |
9 | #ifndef BOOST_GEOMETRY_INDEX_DETAIL_IS_INDEXABLE_HPP |
10 | #define BOOST_GEOMETRY_INDEX_DETAIL_IS_INDEXABLE_HPP |
11 | |
12 | #include <boost/geometry/core/tag.hpp> |
13 | #include <boost/geometry/core/tags.hpp> |
14 | |
15 | namespace boost { namespace geometry { namespace index { namespace detail { |
16 | |
17 | template |
18 | < |
19 | typename Geometry, |
20 | typename Tag = typename geometry::tag<Geometry>::type |
21 | > |
22 | struct is_indexable |
23 | { |
24 | static const bool value = false; |
25 | }; |
26 | |
27 | template <typename Point> |
28 | struct is_indexable<Point, geometry::point_tag> |
29 | { |
30 | static const bool value = true; |
31 | }; |
32 | |
33 | template <typename Box> |
34 | struct is_indexable<Box, geometry::box_tag> |
35 | { |
36 | static const bool value = true; |
37 | }; |
38 | |
39 | template <typename Segment> |
40 | struct is_indexable<Segment, geometry::segment_tag> |
41 | { |
42 | static const bool value = true; |
43 | }; |
44 | |
45 | }}}} // namespave boost::geometry::index::detail |
46 | |
47 | #endif // BOOST_GEOMETRY_INDEX_DETAIL_IS_INDEXABLE_HPP |
48 | |