Go to the documentation of this file. 1 #ifndef EAGINE_BUILD_INFO_HPP
9 #define EAGINE_BUILD_INFO_HPP
24 using _data_tuple = std::tuple<std::tuple<int, int, int, int>>;
28 std::is_nothrow_default_constructible_v<_data_tuple>) =
default;
38 -> const std::tuple<
int,
int,
int,
int>& {
39 return std::get<0>(_data);
97 : _data{std::move(data)} {}
99 _data_tuple _data{{-1, -1, -1, -1}};
104 #if !EAGINE_LINK_LIBRARY || defined(EAGINE_IMPLEMENTING_LIBRARY)
105 #include <eagine/build_info.inl>
Common code is placed in this namespace.
Definition: eagine.hpp:21
Primary template for conditionally valid values.
Definition: decl.hpp:49
auto version_patch() const noexcept -> valid_if_nonnegative< int >
Returns the project patch number.
Definition: build_info.hpp:65
auto version_at_least(int major, int minor) const -> tribool
Checks if the project build version is at least as specified.
auto version_commit() const noexcept -> valid_if_nonnegative< int >
Returns the project commit number.
Definition: build_info.hpp:74
Tri-state boolean value.
Definition: tribool.hpp:61
auto version_major() const noexcept -> valid_if_nonnegative< int >
Returns the project major version number.
Definition: build_info.hpp:47
auto version_minor() const noexcept -> valid_if_nonnegative< int >
Returns the project minor version number.
Definition: build_info.hpp:56
Class providing basic system information.
Definition: build_info.hpp:20
auto version_tuple() const noexcept -> const std::tuple< int, int, int, int > &
Returns the project version numbers in a single tuple.
Definition: build_info.hpp:37
auto has_version() const noexcept -> bool
Indicates if major and minor version numbers are known.
Definition: build_info.hpp:81