diff --git a/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp index 92a5aac..f87f8ba 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp @@ -17,7 +17,8 @@ struct template_arity_impl { template< typename F > struct result_ { - static int const value = F::arity; + enum { value = F::arity }; + }; }; diff --git a/include/boost/mpl/aux_/template_arity.hpp b/include/boost/mpl/aux_/template_arity.hpp index a10c5e3..502e01c 100644 --- a/include/boost/mpl/aux_/template_arity.hpp +++ b/include/boost/mpl/aux_/template_arity.hpp @@ -129,6 +129,7 @@ struct template_arity # include "boost/mpl/aux_/config/eti.hpp" # include "boost/mpl/aux_/config/static_constant.hpp" +# include "boost/mpl/aux_/config/workaround.hpp" namespace boost { namespace mpl { namespace aux { @@ -146,7 +147,11 @@ struct template_arity_impl { template< typename F > struct result_ { +#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x561 && !defined(BOOST_STRICT_CONFIG)) + enum { value = F::arity }; +#else BOOST_STATIC_CONSTANT(int, value = F::arity); +#endif }; };