7 #include "Arp/System/Core/BasicString.hxx"
9 #ifndef ARP_INSIDE_ARP_H
10 #error Never include 'BasicVersion.hxx' directly, just include 'Arp.h'
167 uint8 majorVersion = 0;
168 uint8 minorVersion = 0;
169 uint8 patchVersion = 0;
178 : name(nameArg), majorVersion(majorVersionArg), minorVersion(0), patchVersion(0), buildVersion(0), state(stateArg)
183 : name(nameArg), majorVersion(majorVersionArg), minorVersion(minorVersionArg), patchVersion(0), buildVersion(0), state(stateArg)
188 : name(nameArg), majorVersion(majorVersionArg), minorVersion(minorVersionArg), patchVersion(patchVersionArg), buildVersion(0), state(stateArg)
193 : name(nameArg), majorVersion(majorVersionArg), minorVersion(minorVersionArg), patchVersion(patchVersionArg), buildVersion(buildVersionArg), state(stateArg)
199 return (this->name == arg.name)
200 && (this->majorVersion == arg.majorVersion)
201 && (this->minorVersion == arg.minorVersion)
202 && (this->patchVersion == arg.patchVersion)
203 && (this->buildVersion == arg.buildVersion);
210 if (this->majorVersion > arg.majorVersion)
214 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion > arg.minorVersion))
218 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion > arg.patchVersion))
222 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion == arg.patchVersion) && (this->buildVersion > arg.buildVersion))
234 if (this->majorVersion < arg.majorVersion)
238 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion < arg.minorVersion))
242 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion < arg.patchVersion))
246 else if ((this->majorVersion == arg.majorVersion) && (this->minorVersion == arg.minorVersion) && (this->patchVersion == arg.patchVersion) && (this->buildVersion < arg.buildVersion))
258 if ((*
this > arg) || (*
this == arg))
270 if ((*
this < arg) || (*
this == arg))
285 return this->majorVersion;
290 return this->minorVersion;
295 return this->patchVersion;
300 return this->buildVersion;
This class represents the version of a special SDK or Arp build.
Definition: BasicVersion.hpp:35
String GetState(void) const
Gets the state of this version.
Definition: BasicVersion.hpp:303
BasicVersion(BasicVersion &&arg)=default
The default move constructor
String GetName(void) const
Gets the name of this released version.
Definition: BasicVersion.hpp:278
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:197
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:206
BasicVersion & operator=(const BasicVersion &arg)=default
The default assignment operator.
BasicString< char > String
Definition: BasicVersion.hpp:38
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:266
bool operator<(const BasicVersion &arg) const
Compares this instance to the given argument.
Definition: BasicVersion.hpp:230
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:288
uint8 GetMajor(void) const
Gets the major version.
Definition: BasicVersion.hpp:283
uint8 GetPatch(void) const
Gets the patch version.
Definition: BasicVersion.hpp:293
virtual ~BasicVersion(void)=default
The default destructor.
uint32 GetBuild(void) const
Gets the build version.
Definition: BasicVersion.hpp:298
bool operator>=(const BasicVersion &arg) const
Compares this instance to the given argument.
Definition: BasicVersion.hpp:254
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
Root namespace for the PLCnext API