aboutsummaryrefslogtreecommitdiff
path: root/libbutl/standard-version.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'libbutl/standard-version.ixx')
-rw-r--r--libbutl/standard-version.ixx42
1 files changed, 41 insertions, 1 deletions
diff --git a/libbutl/standard-version.ixx b/libbutl/standard-version.ixx
index f24e358..c488284 100644
--- a/libbutl/standard-version.ixx
+++ b/libbutl/standard-version.ixx
@@ -44,7 +44,7 @@ namespace butl
pre_release () const noexcept
{
std::uint64_t ab (version / 10 % 1000);
- if (ab > 500)
+ if (ab >= 500)
ab -= 500;
return static_cast<std::uint16_t> (ab);
@@ -70,6 +70,46 @@ namespace butl
return version % 10000 == 1 && !snapshot () && !stub ();
}
+ inline standard_version::
+ standard_version (std::uint16_t ep,
+ std::uint16_t mj,
+ std::uint16_t mi,
+ std::uint16_t pa,
+ std::uint16_t pr,
+ std::uint16_t rv)
+ : standard_version (ep,
+ // AAABBBCCCDDDE
+ (mj * 10000000000ULL +
+ mi * 10000000ULL +
+ pa * 10000ULL +
+ pr * 10ULL),
+ "" /* snapshot */,
+ rv)
+ {
+ }
+
+ inline standard_version::
+ standard_version (std::uint16_t ep,
+ std::uint16_t mj,
+ std::uint16_t mi,
+ std::uint16_t pa,
+ std::uint16_t pr,
+ std::uint64_t sn,
+ std::string si,
+ std::uint16_t rv)
+ : standard_version (ep,
+ // AAABBBCCCDDDE
+ (mj * 10000000000ULL +
+ mi * 10000000ULL +
+ pa * 10000ULL +
+ pr * 10ULL +
+ /**/ 1ULL /* snapshot */),
+ sn,
+ si,
+ rv)
+ {
+ }
+
inline standard_version::flags
operator& (standard_version::flags x, standard_version::flags y)
{