diff --git a/include/boost/counting_iterator.hpp b/include/boost/counting_iterator.hpp index 7e67049..08ddae2 100644 --- a/include/boost/counting_iterator.hpp +++ b/include/boost/counting_iterator.hpp @@ -28,6 +28,8 @@ // Incrementable. // // Revision History +// 10 Feb 2001 Rolled in supposed Borland fixes from John Maddock, but not +// seeing any improvement yet // 09 Feb 2001 Factored out is_numeric computation. Borland still // unhappy :( (David Abrahams) // 08 Feb 2001 Beginning of a failed attempt to appease Borland @@ -60,11 +62,14 @@ namespace detail { // iterator_category and difference_type for a counting_iterator at // compile-time based on whether or not it wraps an integer or an iterator, // using "poor man's partial specialization". - template struct counting_iterator_traits_select; + template struct counting_iterator_traits_select +#ifndef __BORLANDC__ + ; // Incrementable is an iterator type template <> struct counting_iterator_traits_select +#endif { template struct traits @@ -96,11 +101,13 @@ namespace detail { // the iterator wraps an integer or an iterator, using "poor man's partial // specialization". - template struct distance_policy_select; - + template struct distance_policy_select +#ifndef __BORLANDC__ + ; // A policy for wrapped iterators template <> struct distance_policy_select +#endif { template struct policy { @@ -130,7 +137,7 @@ namespace detail { #ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS std::numeric_limits::is_specialized #elif defined(__BORLANDC__) - ::boost::is_integral::value + ::boost::is_arithmetic::value #else boost::is_convertible::value && boost::is_convertible::value #endif