All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Brief description of class still missing. More...
#include <Version.h>
Public Member Functions | |
bool | compatible (const Version &v) const |
bool | operator< (const Version &v) const |
void | operator= (const Version &v) |
bool | operator== (const Version &v) const |
bool | operator> (const Version &v) const |
QString | toString () const |
Version (int a=0, int b=0, int c=0, const QString &name=QString::null) | |
Version (const QString &v) | |
Version (const Version &v) |
Brief description of class still missing.
Full description of class still missing
QGpCoreTools::Version::Version | ( | int | a = 0 , |
int | b = 0 , |
||
int | c = 0 , |
||
const QString & | name = QString::null |
||
) |
{ _a=a; _b=b; _c=c; _releaseName=name; }
QGpCoreTools::Version::Version | ( | const QString & | v | ) |
References QGpCoreTools::StringSection::isValid(), QGpCoreTools::StringSection::nextField(), QGpCoreTools::StringSection::toInt(), and QGpCoreTools::StringSection::toString().
{ StringSection vs(v); bool ok=true; const QChar * ptr=0; _a=vs.nextField(ptr, ".").toInt(&ok); if(!ok) { parseError(v); _b=0; _c=0; return; } _b=vs.nextField(ptr, ".").toInt(&ok); if(!ok) { parseError(v); _c=0; return; } _c=vs.nextField(ptr, "-", false).toInt(&ok); if(!ok) { parseError(v); return; } StringSection rn=vs.nextField(ptr, " "); if(rn.isValid()) { _releaseName=rn.toString(); } }
QGpCoreTools::Version::Version | ( | const Version & | v | ) | [inline] |
{operator=(v);}
bool QGpCoreTools::Version::compatible | ( | const Version & | v | ) | const |
Referenced by GeopsyCore::GeopsyCoreInterface::isValid(), SciFigs::SciFigsPlugin::isValid(), and DinverCore::DinverInterface::isValid().
{
return _a==v._a && _b==v._b;
}
bool QGpCoreTools::Version::operator< | ( | const Version & | v | ) | const |
{ if(_a==0 && _b==0 && _c==0) { // devel release if(v._a==0 && v._b==0 && v._c==0) { if(_releaseName.isEmpty()) return false; if(v._releaseName.isEmpty()) return true; return _releaseName<v._releaseName; } else { return false; // devel and stable/testing cannot be compared // devel is assumed to be more recent } } else if(v._a==0 && v._b==0 && v._c==0) { // devel release return true; // devel and stable/testing cannot be compared // devel is assumed to be more recent } else { if(_a<v._a) return true; else if(_a>v._a) return false; if(_b<v._b) return true; else if(_b>v._b) return false; if(_c<v._c) return true; else if(_c>v._c) return false; if(_releaseName.isEmpty()) return false; if(v._releaseName.isEmpty()) return true; return _releaseName<v._releaseName; } }
void QGpCoreTools::Version::operator= | ( | const Version & | v | ) |
{ _a=v._a; _b=v._b; _c=v._c; _releaseName=v._releaseName; }
bool QGpCoreTools::Version::operator== | ( | const Version & | v | ) | const |
{
return _a==v._a && _b==v._b && _c==v._c && _releaseName==v._releaseName;
}
bool QGpCoreTools::Version::operator> | ( | const Version & | v | ) | const |
{ if(_a==0 && _b==0 && _c==0) { // devel release if(v._a==0 && v._b==0 && v._c==0) { if(_releaseName.isEmpty()) return true; if(v._releaseName.isEmpty()) return false; return _releaseName>v._releaseName; } else { return true; // devel and stable/testing cannot be compared // devel is assumed to be more recent } } else if(v._a==0 && v._b==0 && v._c==0) { // devel release return false; // devel and stable/testing cannot be compared // devel is assumed to be more recent } else { if(_a<v._a) return false; else if(_a>v._a) return true; if(_b<v._b) return false; else if(_b>v._b) return true; if(_c<v._c) return false; else if(_c>v._c) return true; if(v._releaseName.isEmpty()) return false; if(_releaseName.isEmpty()) return true; return _releaseName>v._releaseName; } }
QString QGpCoreTools::Version::toString | ( | ) | const |
{ QString s; s+=QString::number(_a); s+="."; s+= QString::number(_b); s+="."; s+= QString::number(_c); if(!_releaseName.isEmpty()) { s+="-"; s+=_releaseName; } return s; }