make.h
Go to the documentation of this file.
00001 /*
00002 Copyright Rene Rivera 2008-2015
00003 Distributed under the Boost Software License, Version 1.0.
00004 (See accompanying file LICENSE_1_0.txt or copy at
00005 http://www.boost.org/LICENSE_1_0.txt)
00006 */
00007 #include <boost/predef/detail/test.h>
00008 
00009 #ifndef BOOST_PREDEF_MAKE_H
00010 #define BOOST_PREDEF_MAKE_H
00011 
00012 /*
00013 Shorthands for the common version number formats used by vendors...
00014 */
00015 
00016 /*`
00017 [heading `BOOST_PREDEF_MAKE_..` macros]
00018 
00019 These set of macros decompose common vendor version number
00020 macros which are composed version, revision, and patch digits.
00021 The naming convention indicates:
00022 
00023 * The base of the specified version number. "`BOOST_PREDEF_MAKE_0X`" for
00024   hexadecimal digits, and "`BOOST_PREDEF_MAKE_10`" for decimal digits.
00025 * The format of the vendor version number. Where "`V`" indicates the version digits,
00026   "`R`" indicates the revision digits, "`P`" indicates the patch digits, and "`0`"
00027   indicates an ignored digit.
00028 
00029 Macros are:
00030 */
00031 /*` `BOOST_PREDEF_MAKE_0X_VRP(V)` */
00032 #define BOOST_PREDEF_MAKE_0X_VRP(V) BOOST_VERSION_NUMBER((V&0xF00)>>8,(V&0xF0)>>4,(V&0xF))
00033 /*` `BOOST_PREDEF_MAKE_0X_VVRP(V)` */
00034 #define BOOST_PREDEF_MAKE_0X_VVRP(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xF0)>>4,(V&0xF))
00035 /*` `BOOST_PREDEF_MAKE_0X_VRPP(V)` */
00036 #define BOOST_PREDEF_MAKE_0X_VRPP(V) BOOST_VERSION_NUMBER((V&0xF000)>>12,(V&0xF00)>>8,(V&0xFF))
00037 /*` `BOOST_PREDEF_MAKE_0X_VVRR(V)` */
00038 #define BOOST_PREDEF_MAKE_0X_VVRR(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xFF),0)
00039 /*` `BOOST_PREDEF_MAKE_0X_VRRPPPP(V)` */
00040 #define BOOST_PREDEF_MAKE_0X_VRRPPPP(V) BOOST_VERSION_NUMBER((V&0xF000000)>>24,(V&0xFF0000)>>16,(V&0xFFFF))
00041 /*` `BOOST_PREDEF_MAKE_0X_VVRRP(V)` */
00042 #define BOOST_PREDEF_MAKE_0X_VVRRP(V) BOOST_VERSION_NUMBER((V&0xFF000)>>12,(V&0xFF0)>>4,(V&0xF))
00043 /*` `BOOST_PREDEF_MAKE_0X_VRRPP000(V)` */
00044 #define BOOST_PREDEF_MAKE_0X_VRRPP000(V) BOOST_VERSION_NUMBER((V&0xF0000000)>>28,(V&0xFF00000)>>20,(V&0xFF000)>>12)
00045 /*` `BOOST_PREDEF_MAKE_0X_VVRRPP(V)` */
00046 #define BOOST_PREDEF_MAKE_0X_VVRRPP(V) BOOST_VERSION_NUMBER((V&0xFF0000)>>16,(V&0xFF00)>>8,(V&0xFF))
00047 /*` `BOOST_PREDEF_MAKE_10_VPPP(V)` */
00048 #define BOOST_PREDEF_MAKE_10_VPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,0,(V)%1000)
00049 /*` `BOOST_PREDEF_MAKE_10_VRP(V)` */
00050 #define BOOST_PREDEF_MAKE_10_VRP(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10)
00051 /*` `BOOST_PREDEF_MAKE_10_VRP000(V)` */
00052 #define BOOST_PREDEF_MAKE_10_VRP000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10)
00053 /*` `BOOST_PREDEF_MAKE_10_VRPP(V)` */
00054 #define BOOST_PREDEF_MAKE_10_VRPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100)
00055 /*` `BOOST_PREDEF_MAKE_10_VRR(V)` */
00056 #define BOOST_PREDEF_MAKE_10_VRR(V) BOOST_VERSION_NUMBER(((V)/100)%10,(V)%100,0)
00057 /*` `BOOST_PREDEF_MAKE_10_VRRPP(V)` */
00058 #define BOOST_PREDEF_MAKE_10_VRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%10,((V)/100)%100,(V)%100)
00059 /*` `BOOST_PREDEF_MAKE_10_VRR000(V)` */
00060 #define BOOST_PREDEF_MAKE_10_VRR000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/1000)%100,0)
00061 /*` `BOOST_PREDEF_MAKE_10_VV00(V)` */
00062 #define BOOST_PREDEF_MAKE_10_VV00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0)
00063 /*` `BOOST_PREDEF_MAKE_10_VVRR(V)` */
00064 #define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0)
00065 /*` `BOOST_PREDEF_MAKE_10_VVRRPP(V)` */
00066 #define BOOST_PREDEF_MAKE_10_VVRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100)
00067 /*` `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)` */
00068 #define BOOST_PREDEF_MAKE_10_VVRR0PP00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100)
00069 /*` `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)` */
00070 #define BOOST_PREDEF_MAKE_10_VVRR0PPPP(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,(V)%10000)
00071 /*` `BOOST_PREDEF_MAKE_10_VVRR00PP00(V)` */
00072 #define BOOST_PREDEF_MAKE_10_VVRR00PP00(V) BOOST_VERSION_NUMBER(((V)/100000000)%100,((V)/1000000)%100,((V)/100)%100)
00073 /*`
00074 [heading `BOOST_PREDEF_MAKE_*..` date macros]
00075 
00076 Date decomposition macros return a date in the relative to the 1970
00077 Epoch date. If the month is not available, January 1st is used as the month and day.
00078 If the day is not available, but the month is, the 1st of the month is used as the day.
00079 */
00080 /*` `BOOST_PREDEF_MAKE_DATE(Y,M,D)` */
00081 #define BOOST_PREDEF_MAKE_DATE(Y,M,D) BOOST_VERSION_NUMBER((Y)%10000-1970,(M)%100,(D)%100)
00082 /*` `BOOST_PREDEF_MAKE_YYYYMMDD(V)` */
00083 #define BOOST_PREDEF_MAKE_YYYYMMDD(V) BOOST_PREDEF_MAKE_DATE(((V)/10000)%10000,((V)/100)%100,(V)%100)
00084 /*` `BOOST_PREDEF_MAKE_YYYY(V)` */
00085 #define BOOST_PREDEF_MAKE_YYYY(V) BOOST_PREDEF_MAKE_DATE(V,1,1)
00086 /*` `BOOST_PREDEF_MAKE_YYYYMM(V)` */
00087 #define BOOST_PREDEF_MAKE_YYYYMM(V) BOOST_PREDEF_MAKE_DATE((V)/100,(V)%100,1)
00088 
00089 #endif


cv_bridge
Author(s): Patrick Mihelich, James Bowman
autogenerated on Wed Aug 9 2017 02:51:41