Class Triple
Triple to describe a target
public sealed class Triple : IEquatable<Triple>, IDisposable
- Inheritance
-
Triple
- Implements
- Inherited Members
Remarks
The term 'Triple' is a bit of a misnomer. At some point in the past it
actually consisted of only three parts, but that has changed over the years
without the name itself changing. The triple is normally represented as a
string of 4 components delimited by '-'. Some of the components have
sub components as part of the content. The canonical form of a triple is:
{Architecture}{SubArchitecture}-{Vendor}-{OS}-{EnvironmentKind}{ObjectFormatKind}
A few shorthand variations are allowed and converted to their full normalized form. In particular "cygwin" is a shorthand for the OS-EnvironmentKind tuple "windows-cygnus" and "mingw" is a shorthand form of "windows-gnu".
In addition to shorthand allowances, the OS component may optionally include a trailing version of the form Maj.Min.Micro. If any of the version number parts are not present, then they default to 0.
For the environment "androideabi" is allowed and normalized to android (including an optional version number).
Constructors
- Triple(string)
Initializes a new instance of the Triple class from a triple string
Properties
- ArchitectureType
Gets the Architecture of the triple
- Environment
Gets the environment type for the triple
- EnvironmentVersion
Gets the version number of the environment
- OS
Gets the OS Type for the triple
- ObjectFormat
Gets the object format type for the triple
- SubArchitecture
Gets the Sub Architecture type
- Vendor
Gets the Vendor component of the triple
Methods
- Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- Equals(object?)
Determines whether the specified object is equal to the current object.
- Equals(Triple?)
Indicates whether the current object is equal to another object of the same type.
- GetCanonicalName(ArchKind)
Retrieves the canonical name for an architecture type
- GetCanonicalName(EnvironmentKind)
Retrieves the canonical name for the environment component of a triple
- GetCanonicalName(OSKind)
Retrieves the canonical name for the OS component of a triple
- GetCanonicalName(VendorKind)
Retrieves the canonical name for the vendor component of a triple
- GetHashCode()
Serves as the default hash function.
- GetHostTriple()
Gets a triple for the host LLVM is built for
- Normalize(string)
Normalizes a triple string
- ToLazyEncodedString()
Gets the LazyEncodedString form of this instance
- ToString()
Retrieves the final string form of the triple
Operators
- implicit operator string(Triple?)
Implicitly converts a triple to a string
- implicit operator LazyEncodedString(Triple?)
Implicitly converts a triple to a LazyEncodedString