File indexing completed on 2025-01-18 09:43:27
0001
0002
0003
0004
0005
0006
0007 #ifndef BOOST_PARAMETER_AUX_PP_IMPL_MATCH_HPP
0008 #define BOOST_PARAMETER_AUX_PP_IMPL_MATCH_HPP
0009
0010 #include <boost/parameter/config.hpp>
0011
0012 #if defined(BOOST_PARAMETER_HAS_PERFECT_FORWARDING)
0013
0014 namespace boost { namespace parameter { namespace aux {
0015
0016
0017
0018
0019
0020 template <typename Parameters, typename ...Args>
0021 struct match : Parameters::BOOST_NESTED_TEMPLATE match<Args...>
0022 {
0023 };
0024 }}}
0025
0026 #else
0027
0028 #include <boost/parameter/aux_/void.hpp>
0029 #include <boost/preprocessor/facilities/intercept.hpp>
0030 #include <boost/preprocessor/repetition/enum_params.hpp>
0031 #include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
0032
0033 namespace boost { namespace parameter { namespace aux {
0034
0035
0036
0037 template <
0038 typename Parameters
0039 BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(
0040 BOOST_PARAMETER_MAX_ARITY
0041 , typename A
0042 , = ::boost::parameter::void_ BOOST_PP_INTERCEPT
0043 )
0044 >
0045 struct match
0046 : Parameters::BOOST_NESTED_TEMPLATE match<
0047 BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, A)
0048 >
0049 {
0050 };
0051 }}}
0052
0053 #endif
0054 #endif
0055