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