|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2005-07-12 16:59:39
Tobias Schwinger <tschwinger_at_[hidden]> writes:
> Jonathan Turkanis wrote:
>>
>> The ability to accommodate these unlikely scenarios has to be balanced against
>> usability. If a test for GCC with major version < 3 has to use "3000000,"
>> chances are good that a test will be misspelled and a needed workaround will not
>> be applied.
>>
>
> It is possible to put an expression to calculate the 3000000 in this case into a
> macro:
>
> #define BOOST_VERSION(major,minor,patchlvl) \
> (major * 1000000 + minor * 1000 + patchlvl)
>
> #define BOOST_GCC \
> BOOST_GCC_VERSION(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__)
>
> Example:
>
> #if BOOST_WORKAROUND(BOOST_GCC,< BOOST_VERSION(3,2,3))
> // ...
> #endif
Or we could arrange to write:
#if BOOST_WORKAROUND(BOOST_GCC,< 3,2,3)
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk