SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
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
5#pragma once
6
7#include <cstddef>
8#include <cstdint>
9
16#define SEQAN3_VERSION_MAJOR 3
18#define SEQAN3_VERSION_MINOR 4
20#define SEQAN3_VERSION_PATCH 0
22#define SEQAN3_RELEASE_CANDIDATE 1
23
25#define SEQAN3_VERSION (SEQAN3_VERSION_MAJOR * 10000 + SEQAN3_VERSION_MINOR * 100 + SEQAN3_VERSION_PATCH)
26
30#define SEQAN3_VERSION_CSTRING_HELPER_STR(str) #str
31
33#define SEQAN3_VERSION_CSTRING_HELPER_FUNC(MAJOR, MINOR, PATCH) \
34 SEQAN3_VERSION_CSTRING_HELPER_STR(MAJOR) \
35 "." SEQAN3_VERSION_CSTRING_HELPER_STR(MINOR) "." SEQAN3_VERSION_CSTRING_HELPER_STR(PATCH)
36
37#if (SEQAN3_RELEASE_CANDIDATE > 0)
39# define SEQAN3_RELEASE_CANDIDATE_HELPER(RC) "-rc." SEQAN3_VERSION_CSTRING_HELPER_STR(RC)
40#else
42# define SEQAN3_RELEASE_CANDIDATE_HELPER(RC) ""
43#endif
44
46#define SEQAN3_VERSION_CSTRING \
47 SEQAN3_VERSION_CSTRING_HELPER_FUNC(SEQAN3_VERSION_MAJOR, SEQAN3_VERSION_MINOR, SEQAN3_VERSION_PATCH) \
48 SEQAN3_RELEASE_CANDIDATE_HELPER(SEQAN3_RELEASE_CANDIDATE)
49
50namespace seqan3
51{
52
59
62
65
66} // namespace seqan3
67
68#undef SEQAN3_VERSION_CSTRING_HELPER_STR
69#undef SEQAN3_VERSION_CSTRING_HELPER_FUNC
70#undef SEQAN3_RELEASE_CANDIDATE_HELPER
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
constexpr uint8_t seqan3_version_major
The major version.
Definition version.hpp:54
constexpr std::size_t seqan3_version
The full version as std::size_t.
Definition version.hpp:61
constexpr uint8_t seqan3_version_minor
The minor version.
Definition version.hpp:56
constexpr char const * seqan3_version_cstring
The full version as null terminated string.
Definition version.hpp:64
constexpr uint8_t seqan3_version_patch
The patch version.
Definition version.hpp:58
#define SEQAN3_VERSION_MAJOR
The major version as MACRO.
Definition version.hpp:16
#define SEQAN3_VERSION_PATCH
The patch version as MACRO.
Definition version.hpp:20
#define SEQAN3_VERSION_MINOR
The minor version as MACRO.
Definition version.hpp:18
#define SEQAN3_VERSION
The full version as MACRO (number).
Definition version.hpp:25
#define SEQAN3_VERSION_CSTRING
The full version as null terminated string.
Definition version.hpp:46
Hide me