random_access_index_fwd.hpp 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /* Copyright 2003-2013 Joaquin M Lopez Munoz.
  2. * Distributed under the Boost Software License, Version 1.0.
  3. * (See accompanying file LICENSE_1_0.txt or copy at
  4. * http://www.boost.org/LICENSE_1_0.txt)
  5. *
  6. * See http://www.boost.org/libs/multi_index for library home page.
  7. */
  8. #ifndef BOOST_MULTI_INDEX_RANDOM_ACCESS_INDEX_FWD_HPP
  9. #define BOOST_MULTI_INDEX_RANDOM_ACCESS_INDEX_FWD_HPP
  10. #if defined(_MSC_VER)
  11. #pragma once
  12. #endif
  13. #include <boost/multi_index/tag.hpp>
  14. namespace boost{
  15. namespace multi_index{
  16. namespace detail{
  17. template<typename SuperMeta,typename TagList>
  18. class random_access_index;
  19. template<
  20. typename SuperMeta1,typename TagList1,
  21. typename SuperMeta2,typename TagList2
  22. >
  23. bool operator==(
  24. const random_access_index<SuperMeta1,TagList1>& x,
  25. const random_access_index<SuperMeta2,TagList2>& y);
  26. template<
  27. typename SuperMeta1,typename TagList1,
  28. typename SuperMeta2,typename TagList2
  29. >
  30. bool operator<(
  31. const random_access_index<SuperMeta1,TagList1>& x,
  32. const random_access_index<SuperMeta2,TagList2>& y);
  33. template<
  34. typename SuperMeta1,typename TagList1,
  35. typename SuperMeta2,typename TagList2
  36. >
  37. bool operator!=(
  38. const random_access_index<SuperMeta1,TagList1>& x,
  39. const random_access_index<SuperMeta2,TagList2>& y);
  40. template<
  41. typename SuperMeta1,typename TagList1,
  42. typename SuperMeta2,typename TagList2
  43. >
  44. bool operator>(
  45. const random_access_index<SuperMeta1,TagList1>& x,
  46. const random_access_index<SuperMeta2,TagList2>& y);
  47. template<
  48. typename SuperMeta1,typename TagList1,
  49. typename SuperMeta2,typename TagList2
  50. >
  51. bool operator>=(
  52. const random_access_index<SuperMeta1,TagList1>& x,
  53. const random_access_index<SuperMeta2,TagList2>& y);
  54. template<
  55. typename SuperMeta1,typename TagList1,
  56. typename SuperMeta2,typename TagList2
  57. >
  58. bool operator<=(
  59. const random_access_index<SuperMeta1,TagList1>& x,
  60. const random_access_index<SuperMeta2,TagList2>& y);
  61. template<typename SuperMeta,typename TagList>
  62. void swap(
  63. random_access_index<SuperMeta,TagList>& x,
  64. random_access_index<SuperMeta,TagList>& y);
  65. } /* namespace multi_index::detail */
  66. /* index specifiers */
  67. template <typename TagList=tag<> >
  68. struct random_access;
  69. } /* namespace multi_index */
  70. } /* namespace boost */
  71. #endif