Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-11-08 19:34:50


Hi,

I'm trying to work around a very specific problem in the Dinkumware
libraries that ship with MSVC6 and 7: iterators do not define fully
symmetric const/non-const interoperability. So for example, the
following won't compile:

  deque<int> d;
  bool x = d.begin() == ((deque<int> const&)d).begin();

To detect this case, I'm using something like:

  #if !defined(BOOST_MSVC_STD_ITERATOR) && (!defined(_CPPLIB_VER) || _CPPLIB_VER > 310)
     ...
  #endif

But it really seems as though there should be a better way.

  #if !defined(_YVALS) || _CPPLIB_VER > 310
     ...
  #endif

is simpler, but somehow unsatisfying. It seems as though _YVALS could
go away at any moment. Can/should we add something to the config, like
e.g. BOOST_DINKUMWARE_STD?

-- 
                       David Abrahams
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

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