diff options
Diffstat (limited to 'butl/standard-version')
-rw-r--r-- | butl/standard-version | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/butl/standard-version b/butl/standard-version index 59056ac..71bd5be 100644 --- a/butl/standard-version +++ b/butl/standard-version @@ -69,7 +69,22 @@ namespace butl earliest () const noexcept; int - compare (const standard_version&) const noexcept; + compare (const standard_version& v) const noexcept + { + if (epoch != v.epoch) + return epoch < v.epoch ? -1 : 1; + + if (version != v.version) + return version < v.version ? -1 : 1; + + if (snapshot_sn != v.snapshot_sn) + return snapshot_sn < v.snapshot_sn ? -1 : 1; + + if (revision != v.revision) + return revision < v.revision ? -1 : 1; + + return 0; + } // Parse the version. Throw std::invalid_argument if the format is not // recognizable or components are invalid. |