16 #if !defined(BOOST_MPL_PREPROCESSING_MODE)
36 namespace boost {
namespace mpl {
38 # define AUX778076_PARAMS(param, sub) \
39 BOOST_MPL_PP_PARAMS( \
40 BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \
45 # define AUX778076_SHIFTED_PARAMS(param, sub) \
46 BOOST_MPL_PP_EXT_PARAMS( \
47 2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \
52 # define AUX778076_SPEC_PARAMS(param) \
54 BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
61 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
63 template<
bool C_, AUX778076_PARAMS(
typename T, 1) >
69 template< AUX778076_PARAMS(
typename T, 1) >
72 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
73 , AUX778076_SHIFTED_PARAMS(T, 1)
74 , BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
92 template< AUX778076_PARAMS(
typename T, 1) >
struct result_
100 template< AUX778076_PARAMS(
typename T, 1) >
struct result_
102 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
103 >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) >
107 #if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
118 ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) >
122 #endif // BOOST_MSVC == 1300
124 #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
136 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
137 , AUX778076_SHIFTED_PARAMS(T,0)
141 BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
142 >::template result_< AUX778076_SHIFTED_PARAMS(T,0) >
160 #undef AUX778076_SPEC_PARAMS
161 #undef AUX778076_SHIFTED_PARAMS
162 #undef AUX778076_PARAMS
163 #undef AUX778076_OP_NAME
164 #undef AUX778076_OP_VALUE1
165 #undef AUX778076_OP_VALUE2