Chris@16: /* Chris@16: Copyright Rene Rivera 2005 Chris@101: Copyright Rene Rivera 2008-2013 Chris@16: Distributed under the Boost Software License, Version 1.0. Chris@16: (See accompanying file LICENSE_1_0.txt or copy at Chris@16: http://www.boost.org/LICENSE_1_0.txt) Chris@16: */ Chris@16: Chris@16: #ifndef BOOST_PREDEF_VERSION_NUMBER_H Chris@16: #define BOOST_PREDEF_VERSION_NUMBER_H Chris@16: Chris@16: /*` Chris@16: [heading `BOOST_VERSION_NUMBER`] Chris@16: Chris@16: `` Chris@16: BOOST_VERSION_NUMBER(major,minor,patch) Chris@16: `` Chris@16: Chris@16: Defines standard version numbers, with these properties: Chris@16: Chris@16: * Decimal base whole numbers in the range \[0,1000000000). Chris@16: The number range is designed to allow for a (2,2,5) triplet. Chris@16: Which fits within a 32 bit value. Chris@16: * The `major` number can be in the \[0,99\] range. Chris@16: * The `minor` number can be in the \[0,99\] range. Chris@16: * The `patch` number can be in the \[0,99999\] range. Chris@16: * Values can be specified in any base. As the defined value Chris@16: is an constant expression. Chris@16: * Value can be directly used in both preprocessor and compiler Chris@16: expressions for comparison to other similarly defined values. Chris@16: * The implementation enforces the individual ranges for the Chris@16: major, minor, and patch numbers. And values over the ranges Chris@16: are truncated (modulo). Chris@16: Chris@16: */ Chris@16: #define BOOST_VERSION_NUMBER(major,minor,patch) \ Chris@16: ( (((major)%100)*10000000) + (((minor)%100)*100000) + ((patch)%100000) ) Chris@16: Chris@16: #define BOOST_VERSION_NUMBER_MAX \ Chris@16: BOOST_VERSION_NUMBER(99,99,99999) Chris@16: Chris@16: #define BOOST_VERSION_NUMBER_ZERO \ Chris@16: BOOST_VERSION_NUMBER(0,0,0) Chris@16: Chris@16: #define BOOST_VERSION_NUMBER_MIN \ Chris@16: BOOST_VERSION_NUMBER(0,0,1) Chris@16: Chris@16: #define BOOST_VERSION_NUMBER_AVAILABLE \ Chris@16: BOOST_VERSION_NUMBER_MIN Chris@16: Chris@16: #define BOOST_VERSION_NUMBER_NOT_AVAILABLE \ Chris@16: BOOST_VERSION_NUMBER_ZERO Chris@16: Chris@16: #endif