File indexing completed on 2025-01-18 09:43:27
0001
0002
0003
0004
0005
0006 #ifndef BOOST_PARAMETER_AUX_PREPROCESSOR_IMPL_ARITY_RANGE_HPP
0007 #define BOOST_PARAMETER_AUX_PREPROCESSOR_IMPL_ARITY_RANGE_HPP
0008
0009
0010 #define BOOST_PARAMETER_ARITY_RANGE_M_optional(state) state
0011 #define BOOST_PARAMETER_ARITY_RANGE_M_deduced_optional(state) state
0012
0013 #include <boost/preprocessor/arithmetic/inc.hpp>
0014
0015 #define BOOST_PARAMETER_ARITY_RANGE_M_required(state) BOOST_PP_INC(state)
0016 #define BOOST_PARAMETER_ARITY_RANGE_M_deduced_required(state) \
0017 BOOST_PP_INC(state)
0018
0019
0020 #include <boost/parameter/aux_/preprocessor/impl/argument_specs.hpp>
0021 #include <boost/preprocessor/cat.hpp>
0022
0023 #define BOOST_PARAMETER_ARITY_RANGE_M(s, state, x) \
0024 BOOST_PP_CAT( \
0025 BOOST_PARAMETER_ARITY_RANGE_M_ \
0026 , BOOST_PARAMETER_FN_ARG_QUALIFIER(x) \
0027 )(state)
0028
0029
0030 #include <boost/preprocessor/seq/fold_left.hpp>
0031 #include <boost/preprocessor/seq/size.hpp>
0032
0033
0034 #define BOOST_PARAMETER_ARITY_RANGE(args) \
0035 ( \
0036 BOOST_PP_SEQ_FOLD_LEFT(BOOST_PARAMETER_ARITY_RANGE_M, 0, args) \
0037 , BOOST_PP_INC(BOOST_PP_SEQ_SIZE(args)) \
0038 )
0039
0040
0041 #endif
0042