Chris@16
|
1 /*
|
Chris@16
|
2 Copyright Rene Rivera 2005
|
Chris@101
|
3 Copyright Rene Rivera 2008-2013
|
Chris@16
|
4 Distributed under the Boost Software License, Version 1.0.
|
Chris@16
|
5 (See accompanying file LICENSE_1_0.txt or copy at
|
Chris@16
|
6 http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
7 */
|
Chris@16
|
8
|
Chris@16
|
9 #ifndef BOOST_PREDEF_VERSION_NUMBER_H
|
Chris@16
|
10 #define BOOST_PREDEF_VERSION_NUMBER_H
|
Chris@16
|
11
|
Chris@16
|
12 /*`
|
Chris@16
|
13 [heading `BOOST_VERSION_NUMBER`]
|
Chris@16
|
14
|
Chris@16
|
15 ``
|
Chris@16
|
16 BOOST_VERSION_NUMBER(major,minor,patch)
|
Chris@16
|
17 ``
|
Chris@16
|
18
|
Chris@16
|
19 Defines standard version numbers, with these properties:
|
Chris@16
|
20
|
Chris@16
|
21 * Decimal base whole numbers in the range \[0,1000000000).
|
Chris@16
|
22 The number range is designed to allow for a (2,2,5) triplet.
|
Chris@16
|
23 Which fits within a 32 bit value.
|
Chris@16
|
24 * The `major` number can be in the \[0,99\] range.
|
Chris@16
|
25 * The `minor` number can be in the \[0,99\] range.
|
Chris@16
|
26 * The `patch` number can be in the \[0,99999\] range.
|
Chris@16
|
27 * Values can be specified in any base. As the defined value
|
Chris@16
|
28 is an constant expression.
|
Chris@16
|
29 * Value can be directly used in both preprocessor and compiler
|
Chris@16
|
30 expressions for comparison to other similarly defined values.
|
Chris@16
|
31 * The implementation enforces the individual ranges for the
|
Chris@16
|
32 major, minor, and patch numbers. And values over the ranges
|
Chris@16
|
33 are truncated (modulo).
|
Chris@16
|
34
|
Chris@16
|
35 */
|
Chris@16
|
36 #define BOOST_VERSION_NUMBER(major,minor,patch) \
|
Chris@16
|
37 ( (((major)%100)*10000000) + (((minor)%100)*100000) + ((patch)%100000) )
|
Chris@16
|
38
|
Chris@16
|
39 #define BOOST_VERSION_NUMBER_MAX \
|
Chris@16
|
40 BOOST_VERSION_NUMBER(99,99,99999)
|
Chris@16
|
41
|
Chris@16
|
42 #define BOOST_VERSION_NUMBER_ZERO \
|
Chris@16
|
43 BOOST_VERSION_NUMBER(0,0,0)
|
Chris@16
|
44
|
Chris@16
|
45 #define BOOST_VERSION_NUMBER_MIN \
|
Chris@16
|
46 BOOST_VERSION_NUMBER(0,0,1)
|
Chris@16
|
47
|
Chris@16
|
48 #define BOOST_VERSION_NUMBER_AVAILABLE \
|
Chris@16
|
49 BOOST_VERSION_NUMBER_MIN
|
Chris@16
|
50
|
Chris@16
|
51 #define BOOST_VERSION_NUMBER_NOT_AVAILABLE \
|
Chris@16
|
52 BOOST_VERSION_NUMBER_ZERO
|
Chris@16
|
53
|
Chris@16
|
54 #endif
|