
28 Feb
2012
28 Feb
'12
11:52 a.m.
----- Original Message -----
From: Rene Rivera <grafikrobot@gmail.com>
I guess that depends on the developers. The reasons the macros are always defined, to zero when not detected, is to reduce the amount of checks when writing conditionals. At least in Boost, the common use case goes something like this:
#if defined(_some_compiler_) && (_some_compiler_ < 123) //... #endif
And in your case it would be #if boost_some_compiler < boost_version(1,2,3) Would give you true if the boost_some_compiler == 0 so you will have to write #if boost_some_compiler < 0 && boost_some_compiler < boost_version(1,2,3) ... I don't see too much savings. Artyom