1 // Boost.Geometry Index 2 // 3 // R-tree node concept 4 // 5 // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. 6 // 7 // Use, modification and distribution is subject to the Boost Software License, 8 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 9 // http://www.boost.org/LICENSE_1_0.txt) 10 11 #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_CONCEPT_HPP 12 #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_CONCEPT_HPP 13 14 namespace boost { namespace geometry { namespace index { 15 16 namespace detail { namespace rtree { 17 18 template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag> 19 struct node 20 { 21 BOOST_MPL_ASSERT_MSG( 22 (false), 23 NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE, 24 (node)); 25 }; 26 27 template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag> 28 struct internal_node 29 { 30 BOOST_MPL_ASSERT_MSG( 31 (false), 32 NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE, 33 (internal_node)); 34 }; 35 36 template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag> 37 struct leaf 38 { 39 BOOST_MPL_ASSERT_MSG( 40 (false), 41 NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE, 42 (leaf)); 43 }; 44 45 template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag, bool IsVisitableConst> 46 struct visitor 47 { 48 BOOST_MPL_ASSERT_MSG( 49 (false), 50 NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE, 51 (visitor)); 52 }; 53 54 template <typename Allocator, typename Value, typename Parameters, typename Box, typename Tag> 55 class allocators 56 { 57 BOOST_MPL_ASSERT_MSG( 58 (false), 59 NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE, 60 (allocators)); 61 }; 62 63 template <typename Allocators, typename Node> 64 struct create_node 65 { 66 BOOST_MPL_ASSERT_MSG( 67 (false), 68 NOT_IMPLEMENTED_FOR_THIS_NODE_TYPE, 69 (create_node)); 70 }; 71 72 template <typename Allocators, typename Node> 73 struct destroy_node 74 { 75 BOOST_MPL_ASSERT_MSG( 76 (false), 77 NOT_IMPLEMENTED_FOR_THIS_NODE_TYPE, 78 (destroy_node)); 79 }; 80 81 }} // namespace detail::rtree 82 83 }}} // namespace boost::geometry::index 84 85 #endif // BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_CONCEPT_HPP 86