diff --git a/include/boost/mpl/aux_/numeric_op.hpp b/include/boost/mpl/aux_/numeric_op.hpp index fc4933c..093bb5f 100644 --- a/include/boost/mpl/aux_/numeric_op.hpp +++ b/include/boost/mpl/aux_/numeric_op.hpp @@ -205,7 +205,11 @@ template< BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na) > struct AUX778076_OP_NAME +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + : aux::msvc_eti_base< typename if_< +#else : if_< +#endif is_na , BOOST_PP_CAT(AUX778076_OP_NAME,2) , AUX778076_OP_NAME< @@ -213,6 +217,9 @@ struct AUX778076_OP_NAME , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N) > >::type +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + > +#endif { BOOST_MPL_AUX_LAMBDA_SUPPORT( AUX778076_OP_ARITY diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp index 0267566..e96cf1a 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitand_ + : if_< + is_na , bitand_2< N1,N2 > , bitand_< @@ -83,6 +85,7 @@ struct bitand_ , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp index 714e80e..bbc96ab 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitor_ + : if_< + is_na , bitor_2< N1,N2 > , bitor_< @@ -83,6 +85,7 @@ struct bitor_ , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp index fee0456..4c14297 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitxor_ + : if_< + is_na , bitxor_2< N1,N2 > , bitxor_< @@ -83,6 +85,7 @@ struct bitxor_ , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp index b065e9d..7681491 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct divides + : if_< + is_na , divides2< N1,N2 > , divides< @@ -82,6 +84,7 @@ struct divides , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp index 22c22f9..b47f328 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct minus + : if_< + is_na , minus2< N1,N2 > , minus< @@ -82,6 +84,7 @@ struct minus , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp index 87f35ec..1052335 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct plus + : if_< + is_na , plus2< N1,N2 > , plus< @@ -82,6 +84,7 @@ struct plus , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp index c10a3f9..dee7fd4 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct times + : if_< + is_na , times2< N1,N2 > , times< @@ -82,6 +84,7 @@ struct times , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp index 6651f71..e54b4ce 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitand_ - : if_< + + : aux::msvc_eti_base< typename if_< + is_na , bitand_2< N1,N2 > , bitand_< @@ -83,6 +85,9 @@ struct bitand_ , N3, N4, N5 > >::type + + > + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp index 03729e7..3b465b3 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitor_ - : if_< + + : aux::msvc_eti_base< typename if_< + is_na , bitor_2< N1,N2 > , bitor_< @@ -83,6 +85,9 @@ struct bitor_ , N3, N4, N5 > >::type + + > + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp index 1a38b6d..f7c5d43 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitxor_ - : if_< + + : aux::msvc_eti_base< typename if_< + is_na , bitxor_2< N1,N2 > , bitxor_< @@ -83,6 +85,9 @@ struct bitxor_ , N3, N4, N5 > >::type + + > + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp index 7b41925..0c60c43 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct divides - : if_< + + : aux::msvc_eti_base< typename if_< + is_na , divides2< N1,N2 > , divides< @@ -82,6 +84,9 @@ struct divides , N3, N4, N5 > >::type + + > + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp index fb33b27..3237fa6 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct minus - : if_< + + : aux::msvc_eti_base< typename if_< + is_na , minus2< N1,N2 > , minus< @@ -82,6 +84,9 @@ struct minus , N3, N4, N5 > >::type + + > + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp index 1fcabba..c8f3355 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct plus - : if_< + + : aux::msvc_eti_base< typename if_< + is_na , plus2< N1,N2 > , plus< @@ -82,6 +84,9 @@ struct plus , N3, N4, N5 > >::type + + > + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp index b5ce5d7..a6ae333 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct times - : if_< + + : aux::msvc_eti_base< typename if_< + is_na , times2< N1,N2 > , times< @@ -82,6 +84,9 @@ struct times , N3, N4, N5 > >::type + + > + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp index 90e7e40..020d6ba 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitand_ + : if_< + is_na , bitand_2< N1,N2 > , bitand_< @@ -83,6 +85,7 @@ struct bitand_ , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp index df64bd2..0474877 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitor_ + : if_< + is_na , bitor_2< N1,N2 > , bitor_< @@ -83,6 +85,7 @@ struct bitor_ , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp index 3986dcb..42a9758 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp @@ -75,7 +75,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct bitxor_ + : if_< + is_na , bitxor_2< N1,N2 > , bitxor_< @@ -83,6 +85,7 @@ struct bitxor_ , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp index 8f2328d..00636dc 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct divides + : if_< + is_na , divides2< N1,N2 > , divides< @@ -82,6 +84,7 @@ struct divides , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp index bd095e8..7b49450 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct minus + : if_< + is_na , minus2< N1,N2 > , minus< @@ -82,6 +84,7 @@ struct minus , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp index 0705e5d..a55b24c 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct plus + : if_< + is_na , plus2< N1,N2 > , plus< @@ -82,6 +84,7 @@ struct plus , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5 diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp index 5e8c898..fd773cc 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp @@ -74,7 +74,9 @@ template< , typename N3 = na, typename N4 = na, typename N5 = na > struct times + : if_< + is_na , times2< N1,N2 > , times< @@ -82,6 +84,7 @@ struct times , N3, N4, N5 > >::type + { BOOST_MPL_AUX_LAMBDA_SUPPORT( 5