diff --git a/include/boost/mpl/integral_c.hpp b/include/boost/mpl/integral_c.hpp index e50a2af..929fcbe 100644 --- a/include/boost/mpl/integral_c.hpp +++ b/include/boost/mpl/integral_c.hpp @@ -31,21 +31,19 @@ struct integral_c // have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), // while some other don't like 'value + 1' (Borland) -#if defined(__BORLANDC__) - BOOST_STATIC_CONSTANT(T, next_value = (value + 1)); - BOOST_STATIC_CONSTANT(T, prior_value = (value - 1)); - typedef integral_c next; - typedef integral_c prior; -#elif defined(__IBMCPP__) || defined(__EDG_VERSION__) && __EDG_VERSION__ <= 241 +#if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 241 + private: BOOST_STATIC_CONSTANT(T, next_value = (N + 1)); BOOST_STATIC_CONSTANT(T, prior_value = (N - 1)); + public: typedef integral_c next; typedef integral_c prior; +#elif defined(__BORLANDC__) || defined(__IBMCPP__) + typedef integral_c next; + typedef integral_c prior; #else - BOOST_STATIC_CONSTANT(T, next_value = (value + 1)); - BOOST_STATIC_CONSTANT(T, prior_value = (value - 1)); - typedef integral_c next; - typedef integral_c prior; + typedef integral_c next; + typedef integral_c prior; #endif // enables uniform function call syntax for families of overloaded