Sha256: 6b36e968e4e189531e3ddf9986c6198f5be764af62a868c6e593c37e2fbff3f9

Contents?: true

Size: 1.56 KB

Versions: 7

Compression:

Stored size: 1.56 KB

Contents

#include "version.hpp"
using namespace std;

#include <sstream>

namespace Origen {
namespace Utils {

Version::Version(string ver) {
    vector<int> v = parse(ver);
    _major = v[0];
    _minor = v[1];
    _tiny = v[2];
}

int Version::major() {
    return _major;
}
int Version::minor() {
    return _minor;
}
int Version::tiny() {
    return _tiny;
}

string Version::str() {
    ostringstream str;
    str << _major;
    str << ".";
    str << _minor;
    str << ".";
    str << _tiny;
    return str.str();
}

bool Version::operator==(string rhs) {
    vector<int> v = parse(rhs);
    return _major == v[0] && _minor == v[1] && _tiny == v[2];
}

bool Version::operator!=(string rhs) {
    vector<int> v = parse(rhs);
    return _major != v[0] || _minor != v[1] || _tiny != v[2];
}

bool Version::operator<(string rhs) {
    vector<int> v = parse(rhs);
    return _major < v[0] || (_major == v[0] && _minor < v[1])
           || (_major == v[0] && _minor == v[1] && _tiny < v[2]);
}

bool Version::operator<=(string rhs) {
    return operator==(rhs) || operator<(rhs);
}

bool Version::operator>(string rhs) {
    vector<int> v = parse(rhs);
    return _major > v[0] || (_major == v[0] && _minor > v[1])
           || (_major == v[0] && _minor == v[1] && _tiny > v[2]);
}

bool Version::operator>=(string rhs) {
    return operator==(rhs) || operator>(rhs);
}

vector<int> Version::parse(string ver) {
    vector<int> v(3);

    istringstream parser(ver);
    parser >> v[0];
    for (int i = 1; i < 3; i++) {
        parser.get(); //Skip dot
        parser >> v[i];
    }
    return v;
}

}
}

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
origen_std_lib-0.10.1 stdlib/v93k/origen/origen/utils/version.cpp
origen_std_lib-0.10.0 stdlib/v93k/origen/origen/utils/version.cpp
origen_std_lib-0.9.0 stdlib/v93k/origen/origen/utils/version.cpp
origen_std_lib-0.8.3 stdlib/v93k/origen/origen/utils/version.cpp
origen_std_lib-0.8.2 stdlib/v93k/origen/origen/utils/version.cpp
origen_std_lib-0.8.1 stdlib/v93k/origen/origen/utils/version.cpp
origen_std_lib-0.8.0 stdlib/v93k/origen/origen/utils/version.cpp