Program Listing for File Version.hpp

Return to documentation for file (include/depthai/device/Version.hpp)

#pragma once

#include <string>

namespace dai {

struct Version {
    explicit Version(const std::string& v);
    Version(unsigned major, unsigned minor, unsigned patch);
    Version(unsigned major, unsigned minor, unsigned patch, std::string buildInfo);
    bool operator==(const Version& other) const;
    bool operator<(const Version& other) const;
    inline bool operator!=(const Version& rhs) const {
        return !(*this == rhs);
    }
    inline bool operator>(const Version& rhs) const {
        return rhs < *this;
    }
    inline bool operator<=(const Version& rhs) const {
        return !(*this > rhs);
    }
    inline bool operator>=(const Version& rhs) const {
        return !(*this < rhs);
    }
    std::string toString() const;
    std::string toStringSemver() const;
    std::string getBuildInfo() const;
    Version getSemver() const;

   private:
    unsigned versionMajor, versionMinor, versionPatch;
    std::string buildInfo;
};

}  // namespace dai