Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef _GMTL_VERSION_H_
00007 #define _GMTL_VERSION_H_
00008
00022
00023 #define GMTL_VERSION_MAJOR 0
00024 #define GMTL_VERSION_MINOR 6
00025 #define GMTL_VERSION_PATCH 1
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #define GMTL_GLUE(a,b) a ## b
00040 #define GMTL_XGLUE(a,b) GMTL_GLUE(a,b)
00041
00042
00043 #define GMTL_STR(s) # s
00044 #define GMTL_XSTR(s) GMTL_STR(s)
00045
00046
00047 #define GMTL_DOT(a,b) a ## . ## b
00048 #define GMTL_XDOT(a,b) GMTL_DOT(a,b)
00049
00050
00051 #define GMTL_ZEROFILL(a) 0 ## a
00052 #define GMTL_XZEROFILL(a) GMTL_ZEROFILL(a)
00053
00054
00055 #if GMTL_VERSION_MAJOR < 10
00056 # define GMTL_VERSION_MAJOR_FILLED \
00057 GMTL_XZEROFILL(GMTL_XZEROFILL(GMTL_VERSION_MAJOR))
00058 #elif GMTL_VERSION_MAJOR < 100
00059 # define GMTL_VERSION_MAJOR_FILLED GMTL_XZEROFILL(GMTL_VERSION_MAJOR)
00060 #else
00061 # define GMTL_VERSION_MAJOR_FILLED GMTL_VERSION_MAJOR
00062 #endif
00063
00064
00065 #if GMTL_VERSION_MINOR < 10
00066 # define GMTL_VERSION_MINOR_FILLED \
00067 GMTL_XZEROFILL(GMTL_XZEROFILL(GMTL_VERSION_MINOR))
00068 #elif GMTL_VERSION_MINOR < 100
00069 # define GMTL_VERSION_MINOR_FILLED GMTL_XZEROFILL(GMTL_VERSION_MINOR)
00070 #else
00071 # define GMTL_VERSION_MINOR_FILLED GMTL_VERSION_MINOR
00072 #endif
00073
00074
00075 #if GMTL_VERSION_PATCH < 10
00076 # define GMTL_VERSION_PATCH_FILLED \
00077 GMTL_XZEROFILL(GMTL_XZEROFILL(GMTL_VERSION_PATCH))
00078 #elif GMTL_VERSION_PATCH < 100
00079 # define GMTL_VERSION_PATCH_FILLED GMTL_XZEROFILL(GMTL_VERSION_PATCH)
00080 #else
00081 # define GMTL_VERSION_PATCH_FILLED GMTL_VERSION_PATCH
00082 #endif
00083
00084
00085
00086
00087
00088
00093 #define GMTL_VERSION \
00094 GMTL_XGLUE( \
00095 GMTL_XGLUE(GMTL_VERSION_MAJOR_FILLED, GMTL_VERSION_MINOR_FILLED), \
00096 GMTL_VERSION_PATCH_FILLED \
00097 )
00098
00099
00100 #define GMTL_VERSION_STRING \
00101 GMTL_XDOT( \
00102 GMTL_XDOT(GMTL_VERSION_MAJOR, GMTL_VERSION_MINOR), \
00103 GMTL_VERSION_PATCH \
00104 )
00105
00106
00107
00108
00109 namespace gmtl
00110 {
00111 inline const char* getVersion()
00112 {
00113 return GMTL_XSTR(GMTL_VERSION_STRING);
00114 }
00115 }
00116
00117
00118
00119
00120
00121
00122 #undef GMTL_XGLUE
00123 #undef GMTL_GLUE
00124 #undef GMTL_XSTR
00125 #undef GMTL_STR
00126 #undef GMTL_ZEROFILL
00127 #undef GMTL_XZEROFILL
00128 #undef GMTL_XDOT
00129 #undef GMTL_DOT
00130
00131
00132 #undef GMTL_VERSION_STRING
00133
00134
00135 #undef GMTL_VERSION_MAJOR_FILLED
00136 #undef GMTL_VERSION_MINOR_FILLED
00137 #undef GMTL_VERSION_PATCH_FILLED
00138
00139
00140 #undef GMTL_VERSION_MAJOR
00141 #undef GMTL_VERSION_MINOR
00142 #undef GMTL_VERSION_PATCH
00143
00144 #endif