modifiers.hpp 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. // (C) Copyright Edward Diener 2011-2015
  2. // Use, modification and distribution are subject to the Boost Software License,
  3. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  4. // http://www.boost.org/LICENSE_1_0.txt).
  5. #if !defined(BOOST_VMD_DETAIL_MODIFIERS_HPP)
  6. #define BOOST_VMD_DETAIL_MODIFIERS_HPP
  7. #include <boost/vmd/detail/match_single_identifier.hpp>
  8. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_NO_TYPE (BOOST_VMD_RETURN_NO_TYPE)
  9. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE (BOOST_VMD_RETURN_TYPE)
  10. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE_TUPLE (BOOST_VMD_RETURN_TYPE_TUPLE)
  11. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE_ARRAY (BOOST_VMD_RETURN_TYPE_ARRAY)
  12. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_TYPE_LIST (BOOST_VMD_RETURN_TYPE_LIST)
  13. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_AFTER (BOOST_VMD_RETURN_AFTER)
  14. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_NO_AFTER (BOOST_VMD_RETURN_NO_AFTER)
  15. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_ONLY_AFTER (BOOST_VMD_RETURN_ONLY_AFTER)
  16. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_INDEX (BOOST_VMD_RETURN_INDEX)
  17. #define BOOST_VMD_REGISTER_BOOST_VMD_RETURN_NO_INDEX (BOOST_VMD_RETURN_NO_INDEX)
  18. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_NO_TYPE_BOOST_VMD_RETURN_NO_TYPE
  19. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_BOOST_VMD_RETURN_TYPE
  20. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_TUPLE_BOOST_VMD_RETURN_TYPE_TUPLE
  21. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_ARRAY_BOOST_VMD_RETURN_TYPE_ARRAY
  22. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_TYPE_LIST_BOOST_VMD_RETURN_TYPE_LIST
  23. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_AFTER_BOOST_VMD_RETURN_AFTER
  24. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_NO_AFTER_BOOST_VMD_RETURN_NO_AFTER
  25. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_ONLY_AFTER_BOOST_VMD_RETURN_ONLY_AFTER
  26. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_INDEX_BOOST_VMD_RETURN_INDEX
  27. #define BOOST_VMD_DETECT_BOOST_VMD_RETURN_NO_INDEX_BOOST_VMD_RETURN_NO_INDEX
  28. #define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_ALL (BOOST_VMD_ALLOW_ALL)
  29. #define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_RETURN (BOOST_VMD_ALLOW_RETURN)
  30. #define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_AFTER (BOOST_VMD_ALLOW_AFTER)
  31. #define BOOST_VMD_REGISTER_BOOST_VMD_ALLOW_INDEX (BOOST_VMD_ALLOW_INDEX)
  32. #define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_ALL_BOOST_VMD_ALLOW_ALL
  33. #define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_RETURN_BOOST_VMD_ALLOW_RETURN
  34. #define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_AFTER_BOOST_VMD_ALLOW_AFTER
  35. #define BOOST_VMD_DETECT_BOOST_VMD_ALLOW_INDEX_BOOST_VMD_ALLOW_INDEX
  36. #define BOOST_VMD_DETAIL_IS_RETURN_TYPE_TUPLE(id) \
  37. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE_TUPLE) \
  38. /**/
  39. #define BOOST_VMD_DETAIL_IS_RETURN_TYPE_ARRAY(id) \
  40. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE_ARRAY) \
  41. /**/
  42. #define BOOST_VMD_DETAIL_IS_RETURN_TYPE_LIST(id) \
  43. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE_LIST) \
  44. /**/
  45. #define BOOST_VMD_DETAIL_IS_RETURN_TYPE(id) \
  46. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_TYPE) \
  47. /**/
  48. #define BOOST_VMD_DETAIL_IS_RETURN_NO_TYPE(id) \
  49. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_NO_TYPE) \
  50. /**/
  51. #define BOOST_VMD_DETAIL_IS_RETURN_AFTER(id) \
  52. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_AFTER) \
  53. /**/
  54. #define BOOST_VMD_DETAIL_IS_RETURN_ONLY_AFTER(id) \
  55. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_ONLY_AFTER) \
  56. /**/
  57. #define BOOST_VMD_DETAIL_IS_RETURN_NO_AFTER(id) \
  58. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_NO_AFTER) \
  59. /**/
  60. #define BOOST_VMD_DETAIL_IS_RETURN_INDEX(id) \
  61. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_INDEX) \
  62. /**/
  63. #define BOOST_VMD_DETAIL_IS_RETURN_NO_INDEX(id) \
  64. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_RETURN_NO_INDEX) \
  65. /**/
  66. #define BOOST_VMD_DETAIL_IS_ALLOW_ALL(id) \
  67. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_ALL) \
  68. /**/
  69. #define BOOST_VMD_DETAIL_IS_ALLOW_RETURN(id) \
  70. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_RETURN) \
  71. /**/
  72. #define BOOST_VMD_DETAIL_IS_ALLOW_AFTER(id) \
  73. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_AFTER) \
  74. /**/
  75. #define BOOST_VMD_DETAIL_IS_ALLOW_INDEX(id) \
  76. BOOST_VMD_DETAIL_MATCH_SINGLE_IDENTIFIER(id,BOOST_VMD_ALLOW_INDEX) \
  77. /**/
  78. #endif /* BOOST_VMD_DETAIL_MODIFIERS_HPP */