
From: David Abrahams <dave@boost-consulting.com>
Edward Diener <eddielee@tropicsoft.com> writes:
Okay, I understand what you're driving at. I'm not sure if going down this road is worth the trouble, but if it is, I'd rather see a standard system for referring to versions numerically. So, for example:
Version Value ------- ----- 6.0 060000 6.0sp5 060005 7.0 070000 7.1 070100 5.3.4 050304 3.4.3 030403 2.95.3 029503
You probably need to allow another digit for each field. 95 is awfully close to rolling over to three digits.
I don't particularly think
BOOST_COMPILER_VC == BOOST_COMPILER_VC71_VERSION
is more expressive than
BOOST_MSVC_VERSION == 070100
Given a fixed numbering system, the latter is more readable.
Nor do I think
BOOST_COMPILER_VC <= BOOST_COMPILER_VC71_VERSION_HIGH
is an improvement over
BOOST_MSVC_VERSION < 070200
Given a fixed numbering system, the latter is more readable.
In that case you may want to consider at least forms like BOOST_COMPILER_VC71_VERSION and BOOST_COMPILER_VC71_VERSION_HIGH useful for your BOOST_WORKAROUND and BOOST_TESTED_AT macros.
I understand why you want it, but am not fond of your proposed names and syntax.
I like the fixed numbering system, though. -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;