SemanticVersion#
Fully qualified name: omni::extras::SemanticVersion
Defined in omni/extras/Version.h
-
struct SemanticVersion#
Version struct, follows Semantic Versioning 2.0.
Warning
This struct is not ABI safe and must not be passed through ABI boundaries. For an ABI-safe version, see omni::ext::Version.
Public Functions
-
SemanticVersion() = default#
Constructor.
Initializes a SemanticVersion with
-1
for all version values and empty pre-release and build values.
-
inline std::string toString(bool includeBuildMetadata = true) const#
Converts this version to a string.
If major, minor and patch are negative, an empty string is returned. Otherwise the string returned is
<major>.<minor>.<patch>[-<prerelease>][+<build>]
. The+<build>
section is only included ifincludeBuildMetadata
istrue
. The-<prerelease>
and+<build>
sections are only included if the prerelease and build members (respectively) are not empty.- Parameters:
includeBuildMetadata – If
true
, the+<build>
section is included in the returned string- Returns:
the version string. See above for detailed explanation
-
inline void replaceNegativesWithZeros() noexcept#
Replaces major, minor or patch values with zeros if they are negative.
Public Members
-
int32_t major = {-1}#
The major version, as defined by Semantic Versioning. May be negative to match any major version.
-
int32_t minor = {-1}#
The minor version, as defined by Semantic Versioning. May be negative to match any minor version.
-
int32_t patch = {-1}#
The patch version, as defined by Semantic Versioning. May be negative to match any patch version.
Public Static Functions
-
static inline SemanticVersion getDefault() noexcept#
Returns a default-constructed SemanticVersion.
- Returns:
a default-constructed SemanticVersion
-
SemanticVersion() = default#