Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-12-05 15:43:27


Gennaro Prota <gennaro_prota_at_[hidden]> writes:

> --- David Abrahams <dave_at_[hidden]> wrote:
> [...]
>> I propose:
>>
>> #ifndef BOOST_STRICT_CONFIG
>> # define BOOST_WORKAROUND(symbol, test) (defined(symbol) && symbol test)
>> #else
>> # define BOOST_WORKAROUND(symbol, test) 0
>> #endif
>>
>> Comments?
>
> Sorry for jumping in without really following this thread. I'm busy
> and just trying to read the posts quickly. This example struck me
> though. Please take a look at this:
>
> http://groups.google.com/groups?threadm=m4TT8.211653%24nZ3.100438%40rwcrnsc53

Hmm. Well, if it's non-conforming we probably shouldn't use it. If
it's just a vc bug, we could do something like

     #ifndef BOOST_STRICT_CONFIG
     # ifdef BOOST_MSVC
     # define BOOST_WORKAROUND(symbol, test) BOOST_DEFINED_##symbol && symbol test
     # define BOOST_DEFINED_BOOST_MSVC BOOST_MSVC
     # define BOOST_DEFINED_BOOST_DINKUMWARE_STDLIB BOOST_DINKUMWARE_STDLIB
        ...
     # else
     # define BOOST_WORKAROUND(symbol, test) (defined(symbol) && symbol test)
     #else
     # define BOOST_WORKAROUND(symbol, test) 0
     #endif

-- 
                       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