diff --git a/include/boost/mpl/bitand.hpp b/include/boost/mpl/bitand.hpp index 19bd38c..427031e 100644 --- a/include/boost/mpl/bitand.hpp +++ b/include/boost/mpl/bitand.hpp @@ -29,41 +29,33 @@ namespace boost { namespace mpl { template< - typename T, T N1, T N2, T N3 = 0xFFFFFFFF, T N4 = 0xFFFFFFFF, T N5 = 0xFFFFFFFF + typename T, T N1, T N2 > struct bitand_c { - BOOST_STATIC_CONSTANT(T, value = (N1 & N2 & N3 & N4 & N5)); + BOOST_STATIC_CONSTANT(T, value = (N1 & N2)); #if !defined(__BORLANDC__) typedef integral_c type; #else - typedef integral_c type; + typedef integral_c type; #endif }; template< typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) - , typename T3 = integral_c - , typename T4 = integral_c - , typename T5 = integral_c > struct bitand_ : bitand_c< - BOOST_MPL_AUX_TYPEOF(T1, - T1::value & T2::value & T3::value & T4::value & T5::value - ) + BOOST_MPL_AUX_TYPEOF(T1, T1::value & T2::value) , BOOST_MPL_AUX_MSVC_VALUE_WKND(T1)::value , BOOST_MPL_AUX_MSVC_VALUE_WKND(T2)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T3)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T4)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T5)::value > { - BOOST_MPL_AUX_LAMBDA_SUPPORT(5, bitand_, (T1,T2,T3,T4,T5)) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_, (T1,T2)) }; -BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,bitand_) +BOOST_MPL_AUX_VOID_SPEC(2,bitand_) } // namespace mpl } // namespace boost diff --git a/include/boost/mpl/bitor.hpp b/include/boost/mpl/bitor.hpp index 3ba848b..6ed75f1 100644 --- a/include/boost/mpl/bitor.hpp +++ b/include/boost/mpl/bitor.hpp @@ -29,41 +29,33 @@ namespace boost { namespace mpl { template< - typename T, T N1, T N2, T N3 = 0, T N4 = 0, T N5 = 0 + typename T, T N1, T N2 > struct bitor_c { - BOOST_STATIC_CONSTANT(T, value = (N1 | N2 | N3 | N4 | N5)); + BOOST_STATIC_CONSTANT(T, value = (N1 | N2)); #if !defined(__BORLANDC__) typedef integral_c type; #else - typedef integral_c type; + typedef integral_c type; #endif }; template< typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) - , typename T3 = integral_c - , typename T4 = integral_c - , typename T5 = integral_c > struct bitor_ : bitor_c< - BOOST_MPL_AUX_TYPEOF(T1, - T1::value | T2::value | T3::value | T4::value | T5::value - ) + BOOST_MPL_AUX_TYPEOF(T1, T1::value | T2::value) , BOOST_MPL_AUX_MSVC_VALUE_WKND(T1)::value , BOOST_MPL_AUX_MSVC_VALUE_WKND(T2)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T3)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T4)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T5)::value > { - BOOST_MPL_AUX_LAMBDA_SUPPORT(5, bitor_, (T1,T2,T3,T4,T5)) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_, (T1,T2)) }; -BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,bitor_) +BOOST_MPL_AUX_VOID_SPEC(2,bitor_) } // namespace mpl } // namespace boost diff --git a/include/boost/mpl/bitxor.hpp b/include/boost/mpl/bitxor.hpp index 9faf868..1c335be 100644 --- a/include/boost/mpl/bitxor.hpp +++ b/include/boost/mpl/bitxor.hpp @@ -29,41 +29,33 @@ namespace boost { namespace mpl { template< - typename T, T N1, T N2, T N3 = 0, T N4 = 0, T N5 = 0 + typename T, T N1, T N2 > struct bitxor_c { - BOOST_STATIC_CONSTANT(T, value = (N1 ^ N2 ^ N3 ^ N4 ^ N5)); + BOOST_STATIC_CONSTANT(T, value = (N1 ^ N2)); #if !defined(__BORLANDC__) typedef integral_c type; #else - typedef integral_c type; + typedef integral_c type; #endif }; template< typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1) , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2) - , typename T3 = integral_c - , typename T4 = integral_c - , typename T5 = integral_c > struct bitxor_ : bitxor_c< - BOOST_MPL_AUX_TYPEOF(T1, - T1::value ^ T2::value ^ T3::value ^ T4::value ^ T5::value - ) + BOOST_MPL_AUX_TYPEOF(T1, T1::value ^ T2::value) , BOOST_MPL_AUX_MSVC_VALUE_WKND(T1)::value , BOOST_MPL_AUX_MSVC_VALUE_WKND(T2)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T3)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T4)::value - , BOOST_MPL_AUX_MSVC_VALUE_WKND(T5)::value > { - BOOST_MPL_AUX_LAMBDA_SUPPORT(5, bitxor_, (T1,T2,T3,T4,T5)) + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_, (T1,T2)) }; -BOOST_MPL_AUX_VOID_SPEC_EXT(2,5,bitxor_) +BOOST_MPL_AUX_VOID_SPEC(2,bitxor_) } // namespace mpl } // namespace boost