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