MGL バージョン情報
Contents
MGLバージョン情報#
概要#
MGLのバージョン情報に関する宣言と定義です。
MGLはバージョン情報をメジャー、マイナー、パッチの3つの組み合わせで表現します。これらは個別の値で定義されている他、各々の値を32ビット整数にまとめた値でも利用されています。
定数#
種類 |
名前 |
内容 |
バージョン |
---|---|---|---|
定数 |
MGLのバージョン |
1.0.0+ |
|
定数 |
MGLのメジャーバージョン |
1.0.0+ |
|
定数 |
MGLのマイナーバージョン |
1.0.0+ |
|
定数 |
MGLのパッチバージョン |
1.0.0+ |
|
マクロ |
MGLのバージョン |
1.1.2+ |
|
マクロ |
MGLのメジャーバージョン |
1.1.2+ |
|
マクロ |
MGLのマイナーバージョン |
1.1.2+ |
|
マクロ |
MGLのパッチバージョン |
1.1.2+ |
関数・定数式#
種類 |
名前 |
内容 |
バージョン |
---|---|---|---|
定数式 |
3つのバージョン値から32ビットバージョン値を生成 |
1.0.0+ |
|
定数式 |
指定したバージョン以降であるかを取得 |
1.0.0+ |
|
マクロ |
3つのバージョン値から32ビットバージョン値を生成 |
1.1.2+ |
kCurrentVersion#
宣言#
namespace MGL
{
constexpr uint32_t kCurrentVersion = MakeVersion(
kMajorVersion,
kMinorVersion,
kPatchVersion);
}
説明#
現在利用中のMGLのバージョンを表す定数です。メジャー、マイナー、パッチバージョンをそれぞれ10進数で扱い、桁をずらして1つの値にまとめて表現されています。
バージョン1.1.13におけるkCurrentVersion
の値は10010013です。
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
kMajorVersion#
宣言#
namespace MGL
{
constexpr uint32_t kMajorVersion = MGL_MAJOR_VERSION; //!< メジャーバージョン
}
説明#
MGLのメジャーバージョンを表す定数です。
この値は1から429の間で予約されています。
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
kMinorVersion#
宣言#
namespace MGL
{
constexpr uint32_t kMinorVersion = MGL_MINOR_VERSION; //!< マイナーバージョン
}
説明#
MGLのマイナーバージョンを表す定数です。
この値は0から999の間で予約されています。
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
kPatchVersion#
宣言#
namespace MGL
{
constexpr uint32_t kPatchVersion = MGL_PATCH_VERSION; //!< パッチバージョン
}
説明#
MGLのパッチバージョンを表す定数です。
この値は0から9999の間で予約されています。
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
MGL_CURRENT_VERSION#
宣言#
#define MGL_CURRENT_VERSION \
MGL_MAKE_VERSION(MGL_MAJOR_VERSION, MGL_MINOR_VERSION, MGL_PATCH_VERSION)
説明#
MGLの現在のバージョンを表す定数マクロです。
このマクロはプリプロセス時にMGLのバージョンを評価するために存在しています。通常はMGL::kCurrentVersionを使用してください。
バージョン情報#
- MGL 1.1.2
初回リリース
関連#
MGL_MAJOR_VERSION#
宣言#
#define MGL_MAJOR_VERSION 1
説明#
MGLの現在のメジャーバージョンを表す定数マクロです。
このマクロはプリプロセス時にMGLのバージョンを評価するために存在しています。通常はMGL::kMajorVersionを使用してください。
バージョン情報#
- MGL 1.1.2
初回リリース
関連#
MGL_MINOR_VERSION#
宣言#
#define MGL_MINOR_VERSION 1
説明#
MGLの現在のマイナーバージョンを表す定数マクロです。
このマクロはプリプロセス時にMGLのバージョンを評価するために存在しています。通常はMGL::kMinorVersionを使用してください。
バージョン情報#
- MGL 1.1.2
初回リリース
関連#
MGL_PATCH_VERSION#
宣言#
#define MGL_PATCH_VERSION 13
説明#
MGLの現在のバージョンを表す定数マクロです。
このマクロはプリプロセス時にMGLのバージョンを評価するために存在しています。通常はMGL::kPatchVersionを使用してください。
バージョン情報#
- MGL 1.1.2
初回リリース
関連#
MakeVersion#
3つのバージョン値から32ビットバージョン値を生成
宣言#
namespace MGL
{
constexpr uint32_t MakeVersion(
uint32_t major,
uint32_t minor,
uint32_t patch) noexcept;
}
引数#
- uint32_t major
メジャーバージョン
- uint32_t minor
マイナーバージョン
- uint32_t patch
パッチバージョン
戻り値#
- uint32_t
各々のバージョンを合成した32ビット値
説明#
3つのバージョン値から32ビット整数のバージョン値を生成します。生成されるバージョン値は各々の値を10進数で扱い桁をずらして表現したものです。
利用例#
auto version = MGL::MakeVersion(1, 2, 3); // version = 10020003
バージョン情報#
- MGL 1.0.0
初回リリース
関連#
IsALater#
指定したバージョン以降であるかを取得
宣言#
namespace MGL
{
constexpr bool IsALater(
uint32_t major,
uint32_t minor = 0,
uint32_t patch = 0) noexcept;
}
引数#
- uint32_t major
メジャーバージョン
- uint32_t minor
マイナーバージョン。省略時は
0
- uint32_t patch
パッチバージョン。省略時は
0
戻り値#
- bool
現在のバージョンが引数で指定したバージョン以降であれば
true
を、そうでなければfalse
説明#
現在利用中のバージョンが、引数で指定したバージョン以降であるかをチェックするための定数式です。
利用例#
// MGLのバージョンが1.2以降であるかをチェック
if (MGL::IsALater(1, 2))
{
// 利用中のMGLのバージョンが1.2以降であればここに到達する
...
}
バージョン情報#
- MGL 1.0.0
初回リリース
MGL_MAKE_VERSION#
MGLのバージョンを生成するプリプロセッサマクロ
宣言#
#define MGL_MAKE_VERSION(major, minor, patch) \
((major) * 10000000 + (minor) * 10000 + (patch))
引数#
- major
メジャーバージョン
- minor
マイナーバージョン
- patch
パッチバージョン
戻り値#
3つの引数を合成した値
説明#
3つのバージョンを合成した値を生成するためのプリプロセッサマクロです。
このマクロはプリプロセス時における評価を行うために用意されています。通常はMGL::MakeVersionを使用してください。
利用例#
#if MGL_CURRENT_VERSION >= MGL_MAKE_VERSION(1, 1, 2)
// MGL 1.1.2以降でのみ有効なコードをここに記述
#endif
バージョン情報#
- MGL 1.1.2
初回リリース