SeqAn3 3.2.0
The Modern C++ library for sequence analysis.
version.hpp
Go to the documentation of this file.
1// -----------------------------------------------------------------------------------------------------
2// Copyright (c) 2006-2022, Knut Reinert & Freie Universität Berlin
3// Copyright (c) 2016-2022, Knut Reinert & MPI für molekulare Genetik
4// This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5// shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6// -----------------------------------------------------------------------------------------------------
7
8#pragma once
9
10#include <cstddef>
11#include <cstdint>
12
19#define SEQAN3_VERSION_MAJOR 3
21#define SEQAN3_VERSION_MINOR 2
23#define SEQAN3_VERSION_PATCH 0
25#define SEQAN3_RELEASE_CANDIDATE 0
26
28#define SEQAN3_VERSION (SEQAN3_VERSION_MAJOR * 10000 + SEQAN3_VERSION_MINOR * 100 + SEQAN3_VERSION_PATCH)
29
33#define SEQAN3_VERSION_CSTRING_HELPER_STR(str) #str
34
36#define SEQAN3_VERSION_CSTRING_HELPER_FUNC(MAJOR, MINOR, PATCH) \
37 SEQAN3_VERSION_CSTRING_HELPER_STR(MAJOR) \
38 "." SEQAN3_VERSION_CSTRING_HELPER_STR(MINOR) "." SEQAN3_VERSION_CSTRING_HELPER_STR(PATCH)
39
40#if (SEQAN3_RELEASE_CANDIDATE > 0)
42# define SEQAN3_RELEASE_CANDIDATE_HELPER(RC) "-rc." SEQAN3_VERSION_CSTRING_HELPER_STR(RC)
43#else
45# define SEQAN3_RELEASE_CANDIDATE_HELPER(RC) ""
46#endif
47
49#define SEQAN3_VERSION_CSTRING \
50 SEQAN3_VERSION_CSTRING_HELPER_FUNC(SEQAN3_VERSION_MAJOR, SEQAN3_VERSION_MINOR, SEQAN3_VERSION_PATCH) \
51 SEQAN3_RELEASE_CANDIDATE_HELPER(SEQAN3_RELEASE_CANDIDATE)
52
53namespace seqan3
54{
55
62
65
68
69} // namespace seqan3
70
71#undef SEQAN3_VERSION_CSTRING_HELPER_STR
72#undef SEQAN3_VERSION_CSTRING_HELPER_FUNC
73#undef SEQAN3_RELEASE_CANDIDATE_HELPER
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
constexpr uint8_t seqan3_version_major
The major version.
Definition: version.hpp:57
constexpr std::size_t seqan3_version
The full version as std::size_t.
Definition: version.hpp:64
constexpr uint8_t seqan3_version_minor
The minor version.
Definition: version.hpp:59
constexpr char const * seqan3_version_cstring
The full version as null terminated string.
Definition: version.hpp:67
constexpr uint8_t seqan3_version_patch
The patch version.
Definition: version.hpp:61
#define SEQAN3_VERSION_MAJOR
The major version as MACRO.
Definition: version.hpp:19
#define SEQAN3_VERSION_PATCH
The patch version as MACRO.
Definition: version.hpp:23
#define SEQAN3_VERSION_MINOR
The minor version as MACRO.
Definition: version.hpp:21
#define SEQAN3_VERSION
The full version as MACRO (number).
Definition: version.hpp:28
#define SEQAN3_VERSION_CSTRING
The full version as null terminated string.
Definition: version.hpp:49