File indexing completed on 2025-01-18 09:43:31
0001
0002
0003
0004
0005
0006 #ifndef BOOST_PARAMETER_PREPROCESSOR_NO_SPEC_HPP
0007 #define BOOST_PARAMETER_PREPROCESSOR_NO_SPEC_HPP
0008
0009 #include <boost/parameter/aux_/preprocessor/impl/function_name.hpp>
0010 #include <boost/parameter/aux_/preprocessor/impl/no_spec_overloads.hpp>
0011
0012
0013
0014
0015 #define BOOST_PARAMETER_NO_SPEC_FUNCTION(result, name) \
0016 BOOST_PARAMETER_NO_SPEC_FUNCTION_HEAD(result, name, 0) \
0017 BOOST_PARAMETER_NO_SPEC_FUNCTION_IMPL_HEAD(name, 0); \
0018 BOOST_PARAMETER_NO_SPEC_FUNCTION_OVERLOAD(name, name, 0, 0) \
0019 BOOST_PARAMETER_NO_SPEC_FUNCTION_IMPL_HEAD(name, 0)
0020
0021
0022 #include <boost/preprocessor/control/expr_if.hpp>
0023 #include <boost/preprocessor/control/if.hpp>
0024
0025
0026
0027
0028
0029 #define BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION_AUX(result, name, impl, c) \
0030 BOOST_PARAMETER_NO_SPEC_FUNCTION_HEAD(result, impl, c) \
0031 BOOST_PARAMETER_NO_SPEC_FUNCTION_OVERLOAD( \
0032 name \
0033 , impl \
0034 , BOOST_PP_IF(BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(impl), 0, 1) \
0035 , c \
0036 ) \
0037 BOOST_PARAMETER_NO_SPEC_FUNCTION_IMPL_HEAD(impl, c) \
0038 BOOST_PP_EXPR_IF(c, const)
0039
0040
0041
0042
0043
0044 #define BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION(result, name) \
0045 BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION_AUX(result, name, name, 0)
0046
0047
0048
0049
0050
0051 #define BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION(result, name) \
0052 BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION_AUX(result, name, name, 1)
0053
0054
0055
0056
0057
0058 #define BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR(result) \
0059 BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION_AUX( \
0060 result, operator(), operator, 0 \
0061 )
0062
0063
0064
0065
0066
0067 #define BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR(result) \
0068 BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION_AUX( \
0069 result, operator(), operator, 1 \
0070 )
0071
0072
0073 #endif
0074