Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2001-01-20 17:51:21


At 05:25 PM 1/20/2001 -0500, David Abrahams wrote:

>boost/array adds an extra template parameter to std::reverse_iterator
only
>if BOOST_MSVC_STD_ITERATOR is defined, but it seems to me that any
>implementation without partial specialization is going to require the
extra
>parameter for reverse_iterator<T*>.

Until two days ago, boost/array.hpp used
!defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) to select the standard
iterators, but that failed for the Intel compiler, which has partial
specialization but uses the MSVC library.

> In fact, the STLport 4.1 beta, when
>compiled with MSVC includes the extra parameter. Maybe we need a new
config
>macro
>
> BOOST_EXTENDED_REVERSE_ITERATOR
>
>or some such?

Do we really need another macro? We could instead use:

   !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
   && !defined(BOOST_MSVC_STD_ITERATOR)

Let me try that before we add YAM (Yet Another Macro).

--Beman


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk