Lunchbox  1.16.0
Multi-threaded C++ toolbox library for all application developers creating high-performance multi-threaded programs.
version.h
Go to the documentation of this file.
1 // generated by CommonLibrary.cmake, do not edit.
2 
8 #ifndef LUNCHBOX_VERSION_H
9 #define LUNCHBOX_VERSION_H
10 
11 #include <lunchbox/api.h>
12 #include <string>
13 
14 namespace lunchbox
15 {
17 # define LUNCHBOX_VERSION_MAJOR 1
18 
20 # define LUNCHBOX_VERSION_MINOR 16
21 
23 # define LUNCHBOX_VERSION_PATCH 0
24 
26 # define LUNCHBOX_VERSION_REVISION 0x1ccf98d
27 
29 # define LUNCHBOX_VERSION_ABI 9ull
30 
32 # define LUNCHBOX_VERSION_GT( MAJOR, MINOR, PATCH ) \
33  ( (LUNCHBOX_VERSION_MAJOR>MAJOR) || \
34  (LUNCHBOX_VERSION_MAJOR==MAJOR && (LUNCHBOX_VERSION_MINOR>MINOR || \
35  (LUNCHBOX_VERSION_MINOR==MINOR && LUNCHBOX_VERSION_PATCH>PATCH))))
36 
38 # define LUNCHBOX_VERSION_GE( MAJOR, MINOR, PATCH ) \
39  ( (LUNCHBOX_VERSION_MAJOR>MAJOR) || \
40  (LUNCHBOX_VERSION_MAJOR==MAJOR && (LUNCHBOX_VERSION_MINOR>MINOR || \
41  (LUNCHBOX_VERSION_MINOR==MINOR && LUNCHBOX_VERSION_PATCH>=PATCH))))
42 
44 # define LUNCHBOX_VERSION_LT( MAJOR, MINOR, PATCH ) \
45  ( (LUNCHBOX_VERSION_MAJOR<MAJOR) || \
46  (LUNCHBOX_VERSION_MAJOR==MAJOR && (LUNCHBOX_VERSION_MINOR<MINOR || \
47  (LUNCHBOX_VERSION_MINOR==MINOR && LUNCHBOX_VERSION_PATCH<PATCH))))
48 
50 # define LUNCHBOX_VERSION_LE( MAJOR, MINOR, PATCH ) \
51  ( (LUNCHBOX_VERSION_MAJOR<MAJOR) || \
52  (LUNCHBOX_VERSION_MAJOR==MAJOR && (LUNCHBOX_VERSION_MINOR<MINOR || \
53  (LUNCHBOX_VERSION_MINOR==MINOR && LUNCHBOX_VERSION_PATCH<=PATCH))))
54 
56 class LUNCHBOX_API Version
57 {
58 public:
60  static int getMajor();
61 
63  static int getMinor();
64 
66  static int getPatch();
67 
69  static std::string getString();
70 
72  static unsigned long long getRevision();
73 
75  static int getABI();
76 
78  static std::string getRevString();
79 
88  static bool check()
89  {
90  return getMajor()==LUNCHBOX_VERSION_MAJOR &&
91  getMinor()==LUNCHBOX_VERSION_MINOR;
92  }
93 
95  static std::string getSchema()
96  {
97  return R"(
98  {
99  "title": "Version",
100  "type": "object",
101  "description": "Version information of the running application",
102  "properties": {
103  "major": { "type": "integer" },
104  "minor": { "type": "integer" },
105  "patch": { "type": "integer" },
106  "abi": { "type": "integer" },
107  "revision": { "type": "string" }
108  }
109  }
110  )";
111  }
112 
114  static std::string toJSON()
115  {
116  return R"(
117  {
118  "major": 1,
119  "minor": 16,
120  "patch": 0,
121  "abi": 9,
122  "revision": "1ccf98d"
123  }
124  )";
125  }
126 };
127 
128 }
129 
130 #endif
Defines export visibility macros for library Lunchbox.
static std::string toJSON()
Definition: version.h:114
static bool check()
Runtime check for ABI compatibility.
Definition: version.h:88
static std::string getSchema()
Definition: version.h:95
#define LUNCHBOX_VERSION_MAJOR
The current major version.
Definition: version.h:17
Abstraction layer and common utilities for multi-threaded programming.
Definition: algorithm.h:29
#define LUNCHBOX_VERSION_MINOR
The current minor version.
Definition: version.h:20
Information about the current Lunchbox version.
Definition: version.h:56