Health-GPS  1.2.2.0
Global Health Policy Simulation model (Health-GPS)
version.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 namespace hgps::core {
6 
8 constexpr auto API_MAJOR = 1;
9 
11 constexpr auto API_MINOR = 2;
12 
14 constexpr auto API_PATCH = 0;
15 
17 class Version {
18  public:
19  Version() = delete;
20  Version(const Version &) = delete;
21  Version &operator=(const Version &) = delete;
22  Version(const Version &&) = delete;
23  Version &operator=(const Version &&) = delete;
24 
27  static int GetMajor();
28 
31  static int GetMinor();
32 
35  static int GetPatch();
36 
39  static std::string GetVersion();
40 
46  static bool IsAtLeast(int major, int minor, int patch);
47 
51  static bool HasFeature(const std::string &name);
52 };
53 } // namespace hgps::core
Application Programming Interface (API) version data type.
Definition: version.h:17
static std::string GetVersion()
Creates a string representation of API version.
Definition: version.cpp:13
static int GetPatch()
Gets the API patch version.
Definition: version.cpp:11
Version & operator=(const Version &&)=delete
static bool HasFeature(const std::string &name)
Checks whether the API version has specific features.
Definition: version.cpp:41
static int GetMajor()
Gets the API major version.
Definition: version.cpp:7
Version(const Version &&)=delete
Version & operator=(const Version &)=delete
static bool IsAtLeast(int major, int minor, int patch)
Validates the API version compatibility.
Definition: version.cpp:27
Version(const Version &)=delete
static int GetMinor()
Gets the API minor version.
Definition: version.cpp:9
Top-level namespace for Health-GPS Core C++ API.
Definition: analysis.h:7
constexpr auto API_MAJOR
Version major number.
Definition: version.h:8
constexpr auto API_MINOR
Version minor number.
Definition: version.h:11
constexpr auto API_PATCH
Version patch number.
Definition: version.h:14