9
3

concept.hpp 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. #ifndef BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_CONCEPT_HPP
  11. #define BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_CONCEPT_HPP
  12. namespace boost { namespace geometry { namespace index {
  13. namespace detail { namespace rtree {
  14. template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
  15. struct node
  16. {
  17. BOOST_MPL_ASSERT_MSG(
  18. (false),
  19. NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE,
  20. (node));
  21. };
  22. template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
  23. struct internal_node
  24. {
  25. BOOST_MPL_ASSERT_MSG(
  26. (false),
  27. NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE,
  28. (internal_node));
  29. };
  30. template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag>
  31. struct leaf
  32. {
  33. BOOST_MPL_ASSERT_MSG(
  34. (false),
  35. NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE,
  36. (leaf));
  37. };
  38. template <typename Value, typename Parameters, typename Box, typename Allocators, typename Tag, bool IsVisitableConst>
  39. struct visitor
  40. {
  41. BOOST_MPL_ASSERT_MSG(
  42. (false),
  43. NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE,
  44. (visitor));
  45. };
  46. template <typename Allocator, typename Value, typename Parameters, typename Box, typename Tag>
  47. class allocators
  48. {
  49. BOOST_MPL_ASSERT_MSG(
  50. (false),
  51. NOT_IMPLEMENTED_FOR_THIS_TAG_TYPE,
  52. (allocators));
  53. };
  54. template <typename Allocators, typename Node>
  55. struct create_node
  56. {
  57. BOOST_MPL_ASSERT_MSG(
  58. (false),
  59. NOT_IMPLEMENTED_FOR_THIS_NODE_TYPE,
  60. (create_node));
  61. };
  62. template <typename Allocators, typename Node>
  63. struct destroy_node
  64. {
  65. BOOST_MPL_ASSERT_MSG(
  66. (false),
  67. NOT_IMPLEMENTED_FOR_THIS_NODE_TYPE,
  68. (destroy_node));
  69. };
  70. }} // namespace detail::rtree
  71. }}} // namespace boost::geometry::index
  72. #endif // BOOST_GEOMETRY_INDEX_DETAIL_RTREE_NODE_CONCEPT_HPP