File indexing completed on 2025-01-18 09:43:28
0001
0002
0003
0004
0005
0006
0007 #ifndef BOOST_PARAMETER_AUX_PREPROCESSOR_QUALIFIER_HPP
0008 #define BOOST_PARAMETER_AUX_PREPROCESSOR_QUALIFIER_HPP
0009
0010 #define BOOST_PARAMETER_QUALIFIER_EAT_in(x)
0011 #define BOOST_PARAMETER_QUALIFIER_EAT_out(x)
0012 #define BOOST_PARAMETER_QUALIFIER_EAT_in_out(x)
0013 #define BOOST_PARAMETER_QUALIFIER_EAT_consume(x)
0014 #define BOOST_PARAMETER_QUALIFIER_EAT_move_from(x)
0015 #define BOOST_PARAMETER_QUALIFIER_EAT_forward(x)
0016
0017 #define BOOST_PARAMETER_GET_QUALIFIER_in(x) in_reference
0018 #define BOOST_PARAMETER_GET_QUALIFIER_out(x) out_reference
0019 #define BOOST_PARAMETER_GET_QUALIFIER_in_out(x) in_out_reference
0020 #define BOOST_PARAMETER_GET_QUALIFIER_consume(x) consume_reference
0021 #define BOOST_PARAMETER_GET_QUALIFIER_move_from(x) move_from_reference
0022 #define BOOST_PARAMETER_GET_QUALIFIER_forward(x) forward_reference
0023
0024 #define BOOST_PARAMETER_STRIP_QUALIFIER_in(x) x
0025 #define BOOST_PARAMETER_STRIP_QUALIFIER_out(x) x
0026 #define BOOST_PARAMETER_STRIP_QUALIFIER_in_out(x) x
0027 #define BOOST_PARAMETER_STRIP_QUALIFIER_consume(x) x
0028 #define BOOST_PARAMETER_STRIP_QUALIFIER_move_from(x) x
0029 #define BOOST_PARAMETER_STRIP_QUALIFIER_forward(x) x
0030
0031 #include <boost/preprocessor/cat.hpp>
0032
0033 #define BOOST_PARAMETER_GET_QUALIFIER_GET(x) \
0034 BOOST_PP_CAT(BOOST_PARAMETER_GET_QUALIFIER_, x)
0035
0036
0037 #define BOOST_PARAMETER_GET_UNQUALIFIED(x) \
0038 BOOST_PP_CAT(BOOST_PARAMETER_STRIP_QUALIFIER_, x)
0039
0040
0041 #include <boost/preprocessor/facilities/is_empty.hpp>
0042
0043
0044
0045 #define BOOST_PARAMETER_IS_QUALIFIER(x) \
0046 BOOST_PP_IS_EMPTY(BOOST_PP_CAT(BOOST_PARAMETER_QUALIFIER_EAT_, x))
0047
0048
0049 #include <boost/preprocessor/control/iif.hpp>
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061 #define BOOST_PARAMETER_GET_QUALIFIER(x) \
0062 BOOST_PP_IIF( \
0063 BOOST_PARAMETER_IS_QUALIFIER(x) \
0064 , BOOST_PARAMETER_GET_QUALIFIER_GET(x) \
0065 , forward_reference \
0066 )
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079 #define BOOST_PARAMETER_UNQUALIFIED(x) \
0080 BOOST_PP_IIF( \
0081 BOOST_PARAMETER_IS_QUALIFIER(x) \
0082 , BOOST_PARAMETER_GET_UNQUALIFIED(x) \
0083 , x \
0084 )
0085
0086
0087 #endif
0088