From: Björn Karlsson (Bjorn.Karlsson_at_[hidden])
Date: 2002-10-01 03:22:11
> From: Markus Schöpflin [mailto:markus.schoepflin_at_[hidden]]
> I don't get this one. Let's analyse the macro as proposed.
> #if (defined(_MSC_VER) && (_MSC_VER <= 1300)) // true for MSVC <=7.0
> && (!defined(_CPPLIB_VER) // true if _CPPLIB_VER not defined
> || (_CPPLIB_VER < 306)) // true if _CPPLIB_VER < 306
> This means the macro evaluates to true iff the compiler is MSVC <= 7.0
> AND the is no dinkumware lib or it's version is less than 306.
> Did I make a mistake, here?
Changing the above to this:
#if (defined(_MSC_VER) && (_MSC_VER <= 1300)) && (defined(_CPPLIB_VER) &&
(_CPPLIB_VER < 306)) // Dinkumware for VC6/7
yields a test that evaluates to true when running MSVC<=7 with a Dinkumware
lib (version less than 306). As you say, your version also evaluates to true
on MSVC<=7 when there's no Dinkumware lib present; which probably isn't the
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk