Version identifier for CppMicroServices modules. More...
Public Member Functions | |
ModuleVersion (unsigned int majorVersion, unsigned int minorVersion, unsigned int microVersion) | |
Creates a version identifier from the specified numerical components. More... | |
ModuleVersion (unsigned int majorVersion, unsigned int minorVersion, unsigned int microVersion, const std::string &qualifier) | |
Creates a version identifier from the specified components. More... | |
ModuleVersion (const std::string &version) | |
Created a version identifier from the specified string. More... | |
ModuleVersion (const ModuleVersion &version) | |
Create a version identifier from another. More... | |
bool | IsUndefined () const |
Returns the undefined state of this version identifier. More... | |
unsigned int | GetMajor () const |
Returns the majorVersion component of this version identifier. More... | |
unsigned int | GetMinor () const |
Returns the minorVersion component of this version identifier. More... | |
unsigned int | GetMicro () const |
Returns the microVersion component of this version identifier. More... | |
std::string | GetQualifier () const |
Returns the qualifier component of this version identifier. More... | |
std::string | ToString () const |
Returns the string representation of this version identifier. More... | |
bool | operator== (const ModuleVersion &object) const |
Compares this ModuleVersion object to another object. More... | |
int | Compare (const ModuleVersion &object) const |
Compares this ModuleVersion object to another object. More... | |
Static Public Member Functions | |
static ModuleVersion | EmptyVersion () |
The empty version "0.0.0". More... | |
static ModuleVersion | UndefinedVersion () |
Creates an undefined version identifier, representing either infinity or minus infinity. More... | |
static ModuleVersion | ParseVersion (const std::string &version) |
Parses a version identifier from the specified string. More... | |
Version identifier for CppMicroServices modules.
Version identifiers have four components.
ModuleVersion(const std::string&)
for the format of the qualifier string. ModuleVersion
objects are immutable.
ModuleVersion::ModuleVersion | ( | unsigned int | majorVersion, |
unsigned int | minorVersion, | ||
unsigned int | microVersion | ||
) |
Creates a version identifier from the specified numerical components.
The qualifier is set to the empty string.
majorVersion | Major component of the version identifier. |
minorVersion | Minor component of the version identifier. |
microVersion | Micro component of the version identifier. |
ModuleVersion::ModuleVersion | ( | unsigned int | majorVersion, |
unsigned int | minorVersion, | ||
unsigned int | microVersion, | ||
const std::string & | qualifier | ||
) |
Creates a version identifier from the specified components.
majorVersion | Major component of the version identifier. |
minorVersion | Minor component of the version identifier. |
microVersion | Micro component of the version identifier. |
qualifier | Qualifier component of the version identifier. |
ModuleVersion::ModuleVersion | ( | const std::string & | version | ) |
Created a version identifier from the specified string.
Here is the grammar for version strings.
version ::= majorVersion('.'minorVersion('.'microVersion('.'qualifier)?)?)? majorVersion ::= digit+ minorVersion ::= digit+ microVersion ::= digit+ qualifier ::= (alpha|digit|'_'|'-')+ digit ::= [0..9] alpha ::= [a..zA..Z]
There must be no whitespace in version.
version | string representation of the version identifier. |
ModuleVersion::ModuleVersion | ( | const ModuleVersion & | version | ) |
Create a version identifier from another.
version | Another version identifier |
int ModuleVersion::Compare | ( | const ModuleVersion & | object | ) | const |
Compares this ModuleVersion
object to another object.
A version is considered to be less than another version if its majorVersion component is less than the other version's majorVersion component, or the majorVersion components are equal and its minorVersion component is less than the other version's minorVersion component, or the majorVersion and minorVersion components are equal and its microVersion component is less than the other version's microVersion component, or the majorVersion, minorVersion and microVersion components are equal and it's qualifier component is less than the other version's qualifier component (using std::string::operator<()
).
A version is considered to be equal to another version if the majorVersion, minorVersion and microVersion components are equal and the qualifier component is equal.
object | The ModuleVersion object to be compared. |
ModuleVersion
object.
|
static |
The empty version "0.0.0".
unsigned int ModuleVersion::GetMajor | ( | ) | const |
Returns the majorVersion component of this version identifier.
unsigned int ModuleVersion::GetMicro | ( | ) | const |
Returns the microVersion component of this version identifier.
unsigned int ModuleVersion::GetMinor | ( | ) | const |
Returns the minorVersion component of this version identifier.
std::string ModuleVersion::GetQualifier | ( | ) | const |
Returns the qualifier component of this version identifier.
bool ModuleVersion::IsUndefined | ( | ) | const |
Returns the undefined state of this version identifier.
true
if this version identifier is undefined, false
otherwise. bool ModuleVersion::operator== | ( | const ModuleVersion & | object | ) | const |
Compares this ModuleVersion
object to another object.
A version is considered to be equal to another version if the majorVersion, minorVersion and microVersion components are equal and the qualifier component is equal.
object | The ModuleVersion object to be compared. |
true
if object
is a ModuleVersion
and is equal to this object; false
otherwise.
|
static |
Parses a version identifier from the specified string.
See ModuleVersion(const std::string&)
for the format of the version string.
version | string representation of the version identifier. Leading and trailing whitespace will be ignored. |
ModuleVersion
object representing the version identifier. If version
is the empty string then EmptyVersion
will be returned. std::string ModuleVersion::ToString | ( | ) | const |
Returns the string representation of this version identifier.
The format of the version string will be majorVersion.minorVersion.microVersion
if qualifier is the empty string or majorVersion.minorVersion.microVersion.qualifier
otherwise.
|
static |
Creates an undefined version identifier, representing either infinity or minus infinity.