8#include "Arp/System/Core/BasicString.hxx"
10#ifndef ARP_INSIDE_ARP_H
11 #error Never include 'BasicVersion.hxx' directly, just include 'Arp.h'
181 uint8 majorVersion = 0;
182 uint8 minorVersion = 0;
183 uint8 patchVersion = 0;
192 : name(nameArg), majorVersion(majorVersionArg), minorVersion(0), patchVersion(0), buildVersion(0), state(stateArg)
197 : name(nameArg), majorVersion(majorVersionArg), minorVersion(minorVersionArg), patchVersion(0), buildVersion(0), state(stateArg)
202 : name(nameArg), majorVersion(majorVersionArg), minorVersion(minorVersionArg), patchVersion(patchVersionArg), buildVersion(0), state(stateArg)
207 : name(nameArg), majorVersion(majorVersionArg), minorVersion(minorVersionArg), patchVersion(patchVersionArg), buildVersion(buildVersionArg), state(stateArg)
213 return (this->name == arg.name)
214 && (this->majorVersion == arg.majorVersion)
215 && (this->minorVersion == arg.minorVersion)
216 && (this->patchVersion == arg.patchVersion)
217 && (this->buildVersion == arg.buildVersion);
222 return !(*
this == arg);
229 if (this->majorVersion > arg.majorVersion)
233 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion > arg.minorVersion))
237 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion > arg.patchVersion))
241 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion == arg.patchVersion) && (this->buildVersion > arg.buildVersion))
253 if (this->majorVersion < arg.majorVersion)
257 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion < arg.minorVersion))
261 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion < arg.patchVersion))
265 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion == arg.patchVersion) && (this->buildVersion < arg.buildVersion))
277 if ((*
this > arg) || (*
this == arg))
289 if ((*
this < arg) || (*
this == arg))
304 return this->majorVersion;
309 return this->minorVersion;
314 return this->patchVersion;
319 return this->buildVersion;
This class represents the version of a special SDK or Arp build.
Definition: BasicVersion.hpp:36
const BasicVersion & GetBuildVersion() const
Gets the version number object
String GetState(void) const
Gets the state of this version.
Definition: BasicVersion.hpp:322
BasicVersion(BasicVersion &&arg)=default
The default move constructor
String GetName(void) const
Gets the name of this released version.
Definition: BasicVersion.hpp:297
bool operator!=(const BasicVersion &arg) const
Compares this instance to the given argument on unequality
Definition: BasicVersion.hpp:220
static bool TryParse(const String &input, BasicVersion &result)
Tries to parse the given input string and to create a new version from it.
bool operator==(const BasicVersion &arg) const
Compares this instance to the given argument on equality
Definition: BasicVersion.hpp:211
static BasicVersion Parse(const String &input)
Parses the given input string and creates a new version from it.
bool operator>(const BasicVersion &arg) const
Compares this instance to the given argument.
Definition: BasicVersion.hpp:225
BasicVersion & operator=(const BasicVersion &arg)=default
The default assignment operator.
BasicString< char > String
Definition: BasicVersion.hpp:39
BasicVersion(const BasicVersion &arg)=default
The default copy constructor.
bool operator<=(const BasicVersion &arg) const
Compares this instance to the given argument.
Definition: BasicVersion.hpp:285
bool operator<(const BasicVersion &arg) const
Compares this instance to the given argument.
Definition: BasicVersion.hpp:249
String ToString(void) const
Converts this version to a string as explained here BasicVersion.
BasicVersion(void)=default
The default constructor constructs an empty and zero'ed version.
uint8 GetMinor(void) const
Gets the minor version.
Definition: BasicVersion.hpp:307
uint8 GetMajor(void) const
Gets the major version.
Definition: BasicVersion.hpp:302
uint8 GetPatch(void) const
Gets the patch version.
Definition: BasicVersion.hpp:312
virtual ~BasicVersion(void)=default
The default destructor.
uint32 GetBuild(void) const
Gets the build version.
Definition: BasicVersion.hpp:317
bool operator>=(const BasicVersion &arg) const
Compares this instance to the given argument.
Definition: BasicVersion.hpp:273
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:36
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:28
Root namespace for the PLCnext API