From a1a43e3c08b34a83e34baa51e44e46abcbc4f1de Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Fri, 17 Dec 2004 19:26:47 +0000 Subject: [PATCH] lambda support bug fix [SVN r26547] --- include/boost/mpl/aux_/numeric_op.hpp | 12 +++++++++--- .../boost/mpl/aux_/preprocessed/msvc60/bitand.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/msvc60/divides.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc60/times.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/msvc70/bitand.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/msvc70/divides.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/msvc70/times.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/no_ctps/divides.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/no_ctps/minus.hpp | 6 +----- include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp | 6 +----- .../boost/mpl/aux_/preprocessed/no_ctps/times.hpp | 6 +----- 22 files changed, 30 insertions(+), 108 deletions(-) diff --git a/include/boost/mpl/aux_/numeric_op.hpp b/include/boost/mpl/aux_/numeric_op.hpp index 92f2622..fc4933c 100644 --- a/include/boost/mpl/aux_/numeric_op.hpp +++ b/include/boost/mpl/aux_/numeric_op.hpp @@ -255,14 +255,20 @@ struct AUX778076_OP_NAME >::type >::type #endif { -#if AUX778076_OP_ARITY == 2 - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2)) -#else +#if AUX778076_OP_ARITY != 2 + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( AUX778076_OP_ARITY , AUX778076_OP_NAME , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) ) ) +# else + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2)) +# endif + +#else + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2)) #endif }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp index 194e7f8..0267566 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp @@ -106,11 +106,7 @@ struct bitand_2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp index 509a1a6..714e80e 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp @@ -106,11 +106,7 @@ struct bitor_2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp index b42e16d..fee0456 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp @@ -106,11 +106,7 @@ struct bitxor_2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp index 6fc1834..b065e9d 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp @@ -105,11 +105,7 @@ struct divides2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp index 635af42..22c22f9 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp @@ -105,11 +105,7 @@ struct minus2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp index 794a54c..87f35ec 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp @@ -105,11 +105,7 @@ struct plus2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp index cece499..c10a3f9 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp @@ -105,11 +105,7 @@ struct times2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp index f6b066d..6651f71 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp @@ -106,11 +106,7 @@ struct bitand_2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp index 16daa9c..03729e7 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp @@ -106,11 +106,7 @@ struct bitor_2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp index 247e50f..1a38b6d 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp @@ -106,11 +106,7 @@ struct bitxor_2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp index 27d4e2b..7b41925 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp @@ -105,11 +105,7 @@ struct divides2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp index 955248c..fb33b27 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp @@ -105,11 +105,7 @@ struct minus2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp index 0a8ad51..1fcabba 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp @@ -105,11 +105,7 @@ struct plus2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp index 063de6f..b5ce5d7 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp @@ -105,11 +105,7 @@ struct times2 >::type >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp index 47898ea..90e7e40 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp @@ -101,11 +101,7 @@ struct bitand_2 , typename bitand_tag::type >::template apply< N1,N2 >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp index a3f4a41..df64bd2 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp @@ -101,11 +101,7 @@ struct bitor_2 , typename bitor_tag::type >::template apply< N1,N2 >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp index 077cff0..3986dcb 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp @@ -101,11 +101,7 @@ struct bitxor_2 , typename bitxor_tag::type >::template apply< N1,N2 >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp index 2fd3fc5..8f2328d 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp @@ -100,11 +100,7 @@ struct divides2 , typename divides_tag::type >::template apply< N1,N2 >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp index 9d32b48..bd095e8 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp @@ -100,11 +100,7 @@ struct minus2 , typename minus_tag::type >::template apply< N1,N2 >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp index 37268be..0705e5d 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp @@ -100,11 +100,7 @@ struct plus2 , typename plus_tag::type >::template apply< N1,N2 >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) }; diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp index 08ac200..5e8c898 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp @@ -100,11 +100,7 @@ struct times2 , typename times_tag::type >::template apply< N1,N2 >::type { - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) };