LLVM 22.0.0git
|
Represents a version number in the form major[.minor[.subminor[.build]]]. More...
#include "llvm/Support/VersionTuple.h"
Public Member Functions | |
constexpr | VersionTuple () |
constexpr | VersionTuple (unsigned Major) |
constexpr | VersionTuple (unsigned Major, unsigned Minor) |
constexpr | VersionTuple (unsigned Major, unsigned Minor, unsigned Subminor) |
constexpr | VersionTuple (unsigned Major, unsigned Minor, unsigned Subminor, unsigned Build) |
bool | empty () const |
Determine whether this version information is empty (e.g., all version components are zero). | |
unsigned | getMajor () const |
Retrieve the major version number. | |
std::optional< unsigned > | getMinor () const |
Retrieve the minor version number, if provided. | |
std::optional< unsigned > | getSubminor () const |
Retrieve the subminor version number, if provided. | |
std::optional< unsigned > | getBuild () const |
Retrieve the build version number, if provided. | |
VersionTuple | withoutBuild () const |
Return a version tuple that contains only the first 3 version components. | |
LLVM_ABI VersionTuple | withMajorReplaced (unsigned NewMajor) const |
Return a version tuple that contains a different major version but everything else is the same. | |
VersionTuple | normalize () const |
Return a version tuple that contains only components that are non-zero. | |
LLVM_ABI std::string | getAsString () const |
Retrieve a string representation of the version number. | |
LLVM_ABI bool | tryParse (StringRef string) |
Try to parse the given string as a version number. |
Friends | |
bool | operator== (const VersionTuple &X, const VersionTuple &Y) |
Determine if two version numbers are equivalent. | |
bool | operator!= (const VersionTuple &X, const VersionTuple &Y) |
Determine if two version numbers are not equivalent. | |
bool | operator< (const VersionTuple &X, const VersionTuple &Y) |
Determine whether one version number precedes another. | |
bool | operator> (const VersionTuple &X, const VersionTuple &Y) |
Determine whether one version number follows another. | |
bool | operator<= (const VersionTuple &X, const VersionTuple &Y) |
Determine whether one version number precedes or is equivalent to another. | |
bool | operator>= (const VersionTuple &X, const VersionTuple &Y) |
Determine whether one version number follows or is equivalent to another. | |
hash_code | hash_value (const VersionTuple &VT) |
template<typename HasherT, llvm::endianness Endianness> | |
void | addHash (HashBuilder< HasherT, Endianness > &HBuilder, const VersionTuple &VT) |
Represents a version number in the form major[.minor[.subminor[.build]]].
Definition at line 30 of file VersionTuple.h.
|
inlineconstexpr |
Definition at line 43 of file VersionTuple.h.
Referenced by addHash, hash_value, normalize(), operator!=, operator<, operator<=, operator==, operator>, operator>=, tryParse(), withMajorReplaced(), and withoutBuild().
|
inlineexplicitconstexpr |
Definition at line 47 of file VersionTuple.h.
Definition at line 51 of file VersionTuple.h.
|
inlineexplicitconstexpr |
Definition at line 55 of file VersionTuple.h.
|
inlineexplicitconstexpr |
Definition at line 60 of file VersionTuple.h.
|
inline |
Determine whether this version information is empty (e.g., all version components are zero).
Definition at line 67 of file VersionTuple.h.
Referenced by EmitSDKVersionSuffix(), emitValidatorVersionMD(), getDXILArchNameFromShaderModel(), llvm::MachO::getTargetTripleName(), getWindowsSDKDirViaCommandLine(), and targetVersionOrMinimumSupportedOSVersion().
std::string VersionTuple::getAsString | ( | ) | const |
Retrieve a string representation of the version number.
Definition at line 21 of file VersionTuple.cpp.
Referenced by llvm::MachO::getTargetTripleName(), and getWindowsSDKDirViaCommandLine().
|
inline |
Retrieve the build version number, if provided.
Definition at line 89 of file VersionTuple.h.
|
inline |
Retrieve the major version number.
Definition at line 72 of file VersionTuple.h.
Referenced by emitDXILVersionTupleMD(), EmitSDKVersionSuffix(), emitShaderModelVersionMD(), emitValidatorVersionMD(), getDXILArchNameFromShaderModel(), llvm::Triple::getOSMajorVersion(), getWindowsSDKDirViaCommandLine(), llvm::AArch64::ArchInfo::implies(), llvm::MachO::PackedVersion::PackedVersion(), and llvm::DXContainerObjectWriter::writeObject().
|
inline |
Retrieve the minor version number, if provided.
Definition at line 75 of file VersionTuple.h.
Referenced by emitDXILVersionTupleMD(), EmitSDKVersionSuffix(), emitShaderModelVersionMD(), emitValidatorVersionMD(), getDXILArchNameFromShaderModel(), llvm::AArch64::ArchInfo::implies(), llvm::MachO::PackedVersion::PackedVersion(), and llvm::DXContainerObjectWriter::writeObject().
|
inline |
Retrieve the subminor version number, if provided.
Definition at line 82 of file VersionTuple.h.
Referenced by EmitSDKVersionSuffix(), and llvm::MachO::PackedVersion::PackedVersion().
|
inline |
Return a version tuple that contains only components that are non-zero.
Definition at line 107 of file VersionTuple.h.
References VersionTuple().
Try to parse the given string as a version number.
true
if the string does not match the regular expression [0-9]+(.[0-9]+){0,3} Definition at line 63 of file VersionTuple.cpp.
References llvm::StringRef::consume_front(), llvm::StringRef::empty(), parseInt(), llvm::StringRef::substr(), and VersionTuple().
Referenced by getWindowsSDKDirViaCommandLine(), and parseVersionFromName().
VersionTuple VersionTuple::withMajorReplaced | ( | unsigned | NewMajor | ) | const |
Return a version tuple that contains a different major version but everything else is the same.
Definition at line 112 of file VersionTuple.cpp.
References VersionTuple().
|
inline |
Return a version tuple that contains only the first 3 version components.
Definition at line 96 of file VersionTuple.h.
References VersionTuple().
|
friend |
Definition at line 175 of file VersionTuple.h.
References llvm::HashBuilder< HasherT, Endianness >::add(), and VersionTuple().
|
friend |
Definition at line 170 of file VersionTuple.h.
References llvm::hash_combine(), and VersionTuple().
|
friend |
Determine if two version numbers are not equivalent.
If not provided, minor and subminor version numbers are considered to be zero.
Definition at line 131 of file VersionTuple.h.
References VersionTuple(), X, and Y.
|
friend |
Determine whether one version number precedes another.
If not provided, minor and subminor version numbers are considered to be zero.
Definition at line 139 of file VersionTuple.h.
References VersionTuple(), X, and Y.
|
friend |
Determine whether one version number precedes or is equivalent to another.
If not provided, minor and subminor version numbers are considered to be zero.
Definition at line 157 of file VersionTuple.h.
References VersionTuple(), X, and Y.
|
friend |
Determine if two version numbers are equivalent.
If not provided, minor and subminor version numbers are considered to be zero.
Definition at line 122 of file VersionTuple.h.
References VersionTuple(), X, and Y.
|
friend |
Determine whether one version number follows another.
If not provided, minor and subminor version numbers are considered to be zero.
Definition at line 148 of file VersionTuple.h.
References VersionTuple(), X, and Y.
|
friend |
Determine whether one version number follows or is equivalent to another.
If not provided, minor and subminor version numbers are considered to be zero.
Definition at line 166 of file VersionTuple.h.
References VersionTuple(), X, and Y.