From dbb99b1cf355ddf5076c968c1c444451840d14a6 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Sat, 10 Feb 2001 20:23:35 +0000 Subject: [PATCH] Rolled in supposed Borland fixes from John Maddock, but not seeing any improvement yet [SVN r9093] --- include/boost/counting_iterator.hpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) 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