// SPDX-License-Identifier: LGPL-3.0-or-other // Copyright (C) 2021 Contributors to the SLS Detector Package #pragma once #include #include namespace sls { class Version { private: std::string version_; std::string date_; const std::string defaultBranch_ = "developer"; public: explicit Version(const std::string &s); bool hasSemanticVersioning() const; std::string getVersion() const; std::string getDate() const; std::string concise() const; int getMajorVersion() const; // expects semantic versioning bool isBackwardCompatible(const Version &other) const; bool operator!=(const Version &other) const; bool operator==(const Version &other) const; bool operator<=(const Version &other) const; }; std::ostream &operator<<(std::ostream &out, const Version &v); } // namespace sls