MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_version.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_VERSION_H_1606555397
12#define INCGUARD_MGL_VERSION_H_1606555397
13
14#include <cstdint>
15
17#define MGL_MAKE_VERSION(major, minor, patch) \
18 ((major) * 10000000 + (minor) * 10000 + (patch))
19
20// NOLINTBEGIN(modernize-macro-to-enum)
21// Note: マクロのバージョン情報はプリプロセッサが判別するためのものなので列挙型にできない。
22#define MGL_MAJOR_VERSION 1
23#define MGL_MINOR_VERSION 1
24#define MGL_PATCH_VERSION 16
25// NOLINTEND(modernize-macro-to-enum)
26
28#define MGL_CURRENT_VERSION \
29 MGL_MAKE_VERSION(MGL_MAJOR_VERSION, MGL_MINOR_VERSION, MGL_PATCH_VERSION)
30
31namespace MGL
32{
33constexpr uint32_t kMajorVersion = MGL_MAJOR_VERSION;
34constexpr uint32_t kMinorVersion = MGL_MINOR_VERSION;
35constexpr uint32_t kPatchVersion = MGL_PATCH_VERSION;
36
37/* ------------------------------------------------------------------------- */
45/* ------------------------------------------------------------------------- */
46constexpr uint32_t MakeVersion(uint32_t major, uint32_t minor, uint32_t patch) noexcept
47{
48 return (major * 10000000) + (minor * 10000) + patch;
49}
50
52constexpr uint32_t kCurrentVersion = MakeVersion(kMajorVersion, kMinorVersion, kPatchVersion);
53
54/* ------------------------------------------------------------------------- */
63/* ------------------------------------------------------------------------- */
64constexpr bool IsALater(uint32_t major, uint32_t minor = 0, uint32_t patch = 0) noexcept
65{
66 return MakeVersion(major, minor, patch) >= kCurrentVersion;
67}
68} // namespace MGL
69
70#endif // INCGUARD_MGL_VERSION_H_1606555397
71
72// vim: et ts=4 sw=4 sts=4
constexpr uint32_t kCurrentVersion
現在のバージョン
Definition mgl_version.h:52
constexpr bool IsALater(uint32_t major, uint32_t minor=0, uint32_t patch=0) noexcept
特定のバージョン以降かを取得
Definition mgl_version.h:64
#define MGL_MAJOR_VERSION
メジャーバージョン
Definition mgl_version.h:22
constexpr uint32_t kPatchVersion
パッチバージョン
Definition mgl_version.h:35
constexpr uint32_t kMinorVersion
マイナーバージョン
Definition mgl_version.h:34
#define MGL_PATCH_VERSION
パッチバージョン
Definition mgl_version.h:24
#define MGL_MINOR_VERSION
マイナーバージョン
Definition mgl_version.h:23
constexpr uint32_t kMajorVersion
メジャーバージョン
Definition mgl_version.h:33
constexpr uint32_t MakeVersion(uint32_t major, uint32_t minor, uint32_t patch) noexcept
バージョン値の生成
Definition mgl_version.h:46