From 18a66d5e2ebfe09a489fead93534e1c4e09f563f Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Tue, 17 Sep 2002 12:12:24 +0000 Subject: [PATCH] Proper fixes for Borland, IBM, and EDG (we hope) [SVN r15405] --- include/boost/mpl/integral_c.hpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) 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