Sha256: 6048b4dd227b21e316c298e8bfeeb4dd2a27176db76cbfa7e723eff456349323

Contents?: true

Size: 1.49 KB

Versions: 4

Compression:

Stored size: 1.49 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

4 entries across 4 versions & 1 rubygems

Version Path
origen_std_lib-0.13.1 src/advantest/smt7/origen/origen/utils/version.cpp
origen_std_lib-0.13.0 src/advantest/smt7/origen/origen/utils/version.cpp
origen_std_lib-0.12.0 src/advantest/smt7/origen/origen/utils/version.cpp
origen_std_lib-0.11.0 src/advantest/smt7/origen/origen/utils/version.cpp