diff --git a/include/boost/mpl/aux_/template_arity.hpp b/include/boost/mpl/aux_/template_arity.hpp index c431dc4..d71a3d2 100644 --- a/include/boost/mpl/aux_/template_arity.hpp +++ b/include/boost/mpl/aux_/template_arity.hpp @@ -37,6 +37,22 @@ struct template_arity_impl }; }; +#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x561 && !defined(BOOST_STRICT_CONFIG)) +template< typename Rebind > +struct template_arity_value +{ + BOOST_STATIC_CONSTANT(int, value = Rebind::arity); +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : template_arity_value + { + }; +}; +#else template<> struct template_arity_impl { @@ -46,6 +62,7 @@ struct template_arity_impl BOOST_STATIC_CONSTANT(int, value = f_::arity); }; }; +#endif template< typename F > struct template_arity