Raptor
A fast and space-efficient pre-filter
All Classes Namespaces Files Functions Variables Macros Pages Concepts
version.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
12#include <cstdint>
13
15#define RAPTOR_VERSION_MAJOR 4
17#define RAPTOR_VERSION_MINOR 0
19#define RAPTOR_VERSION_PATCH 0
21#define RAPTOR_RELEASE_CANDIDATE 1
22
24#define RAPTOR_VERSION (RAPTOR_VERSION_MAJOR * 10000 + RAPTOR_VERSION_MINOR * 100 + RAPTOR_VERSION_PATCH)
25
29#define RAPTOR_VERSION_CSTRING_HELPER_STR(str) #str
30
32#define RAPTOR_VERSION_CSTRING_HELPER_FUNC(MAJOR, MINOR, PATCH) \
33 RAPTOR_VERSION_CSTRING_HELPER_STR(MAJOR) \
34 "." RAPTOR_VERSION_CSTRING_HELPER_STR(MINOR) "." RAPTOR_VERSION_CSTRING_HELPER_STR(PATCH)
35
36#if (RAPTOR_RELEASE_CANDIDATE > 0)
38# define RAPTOR_RELEASE_CANDIDATE_HELPER(RC) "-rc." RAPTOR_VERSION_CSTRING_HELPER_STR(RC)
39#else
41# define RAPTOR_RELEASE_CANDIDATE_HELPER(RC) ""
42#endif
43
45#define RAPTOR_VERSION_CSTRING \
46 RAPTOR_VERSION_CSTRING_HELPER_FUNC(RAPTOR_VERSION_MAJOR, RAPTOR_VERSION_MINOR, RAPTOR_VERSION_PATCH) \
47 RAPTOR_RELEASE_CANDIDATE_HELPER(RAPTOR_RELEASE_CANDIDATE)
48
49namespace raptor
50{
51
58
61
64
65} // namespace raptor
66
67#undef RAPTOR_VERSION_CSTRING_HELPER_STR
68#undef RAPTOR_VERSION_CSTRING_HELPER_FUNC
69#undef RAPTOR_RELEASE_CANDIDATE_HELPER
constexpr char const * raptor_version_cstring
The full version as null terminated string.
Definition version.hpp:63
#define RAPTOR_VERSION_CSTRING
The full version as null terminated string.
Definition version.hpp:45
#define RAPTOR_VERSION_MINOR
The minor version as MACRO.
Definition version.hpp:17
constexpr uint8_t raptor_version_patch
The patch version.
Definition version.hpp:57
#define RAPTOR_VERSION
The full version as MACRO (number).
Definition version.hpp:24
#define RAPTOR_VERSION_MAJOR
The major version as MACRO.
Definition version.hpp:15
#define RAPTOR_VERSION_PATCH
The patch version as MACRO.
Definition version.hpp:19
constexpr uint8_t raptor_version_major
The major version.
Definition version.hpp:53
constexpr std::size_t raptor_version
The full version as std::size_t.
Definition version.hpp:60
constexpr uint8_t raptor_version_minor
The minor version.
Definition version.hpp:55
Hide me