16#define SHARG_VERSION_MAJOR 1
18#define SHARG_VERSION_MINOR 1
20#define SHARG_VERSION_PATCH 2
22#define SHARG_RELEASE_CANDIDATE 1
25#define SHARG_VERSION (SHARG_VERSION_MAJOR * 10000 + SHARG_VERSION_MINOR * 100 + SHARG_VERSION_PATCH)
30#define SHARG_VERSION_CSTRING_HELPER_STR(str) #str
33#define SHARG_VERSION_CSTRING_HELPER_FUNC(MAJOR, MINOR, PATCH) \
34 SHARG_VERSION_CSTRING_HELPER_STR(MAJOR) \
35 "." SHARG_VERSION_CSTRING_HELPER_STR(MINOR) "." SHARG_VERSION_CSTRING_HELPER_STR(PATCH)
37#if (SHARG_RELEASE_CANDIDATE > 0)
39# define SHARG_RELEASE_CANDIDATE_HELPER(RC) "-rc." SHARG_VERSION_CSTRING_HELPER_STR(RC)
42# define SHARG_RELEASE_CANDIDATE_HELPER(RC) ""
46#define SHARG_VERSION_CSTRING \
47 SHARG_VERSION_CSTRING_HELPER_FUNC(SHARG_VERSION_MAJOR, SHARG_VERSION_MINOR, SHARG_VERSION_PATCH) \
48 SHARG_RELEASE_CANDIDATE_HELPER(SHARG_RELEASE_CANDIDATE)
68#undef SHARG_VERSION_CSTRING_HELPER_STR
69#undef SHARG_VERSION_CSTRING_HELPER_FUNC
70#undef SHARG_RELEASE_CANDIDATE_HELPER
#define SHARG_VERSION_MINOR
The minor version as MACRO.
Definition version.hpp:18
constexpr char const * sharg_version_cstring
The full version as null terminated string.
Definition version.hpp:64
#define SHARG_VERSION
The full version as MACRO (number).
Definition version.hpp:25
#define SHARG_VERSION_PATCH
The patch version as MACRO.
Definition version.hpp:20
constexpr std::size_t sharg_version
The full version as std::size_t.
Definition version.hpp:61
constexpr uint8_t sharg_version_minor
The minor version.
Definition version.hpp:56
#define SHARG_VERSION_CSTRING
The full version as null terminated string.
Definition version.hpp:46
#define SHARG_VERSION_MAJOR
The major version as MACRO.
Definition version.hpp:16
constexpr uint8_t sharg_version_patch
The patch version.
Definition version.hpp:58
constexpr uint8_t sharg_version_major
The major version.
Definition version.hpp:54