tin  1.5.9
version.h
Go to the documentation of this file.
1 // Copyright (c) 2026 Tinverse LLC. All rights reserved.
2 // SPDX-License-Identifier: LicenseRef-Tinverse-Commercial
3 
10 
11 #pragma once
12 
13 #include <cstdint>
14 
15 #define TIN_VERSION_MAJOR 1
16 #define TIN_VERSION_MINOR 5
17 #define TIN_VERSION_PATCH 9
18 #define TIN_VERSION_STRING "1.5.9"
19 
20 namespace tin {
21 
23  std::uint32_t major{};
24  std::uint32_t minor{};
25  std::uint32_t patch{};
26 };
27 
28 inline constexpr semantic_version version{
30  .minor = TIN_VERSION_MINOR,
31  .patch = TIN_VERSION_PATCH,
32 };
33 
34 inline constexpr std::uint32_t version_major = version.major;
35 inline constexpr std::uint32_t version_minor = version.minor;
36 inline constexpr std::uint32_t version_patch = version.patch;
37 inline constexpr const char* version_string = TIN_VERSION_STRING;
38 
39 constexpr bool same_major_version(semantic_version other) {
40  return other.major == version.major;
41 }
42 
43 constexpr bool operator==(semantic_version lhs, semantic_version rhs) {
44  return lhs.major == rhs.major && lhs.minor == rhs.minor &&
45  lhs.patch == rhs.patch;
46 }
47 
48 constexpr bool operator!=(semantic_version lhs, semantic_version rhs) {
49  return !(lhs == rhs);
50 }
51 
52 } // namespace tin
Definition: io.h:18
constexpr bool same_major_version(semantic_version other)
Definition: version.h:39
constexpr semantic_version version
Definition: version.h:28
constexpr const char * version_string
Definition: version.h:37
constexpr std::uint32_t version_major
Definition: version.h:34
constexpr std::uint32_t version_minor
Definition: version.h:35
constexpr bool operator!=(semantic_version lhs, semantic_version rhs)
Definition: version.h:48
constexpr std::uint32_t version_patch
Definition: version.h:36
constexpr bool operator==(semantic_version lhs, semantic_version rhs)
Definition: version.h:43
Definition: version.h:22
std::uint32_t minor
Definition: version.h:24
std::uint32_t patch
Definition: version.h:25
std::uint32_t major
Definition: version.h:23
#define TIN_VERSION_MINOR
Definition: version.h:16
#define TIN_VERSION_MAJOR
Definition: version.h:15
#define TIN_VERSION_PATCH
Definition: version.h:17
#define TIN_VERSION_STRING
Definition: version.h:18