Table of Contents

Class Triple

Namespace
Ubiquity.NET.Llvm
Assembly
Ubiquity.NET.Llvm.dll

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