pub struct Triple {
pub architecture: Architecture,
pub vendor: Vendor,
pub operating_system: OperatingSystem,
pub environment: Environment,
pub binary_format: BinaryFormat,
}
Expand description
A target “triple”. Historically such things had three fields, though they’ve added additional fields over time.
Note that Triple
doesn’t implement Default
itself. If you want a type
which defaults to the host triple, or defaults to unknown-unknown-unknown,
use DefaultToHost
or DefaultToUnknown
, respectively.
Fields§
§architecture: Architecture
The “architecture” (and sometimes the subarchitecture).
vendor: Vendor
The “vendor” (whatever that means).
operating_system: OperatingSystem
The “operating system” (sometimes also the environment).
environment: Environment
The “environment” on top of the operating system (often omitted for operating systems with a single predominant environment).
binary_format: BinaryFormat
The “binary format” (rarely used).
Implementations§
§impl Triple
impl Triple
pub fn endianness(&self) -> Result<Endianness, ()>
pub fn endianness(&self) -> Result<Endianness, ()>
Return the endianness of this target’s architecture.
pub fn pointer_width(&self) -> Result<PointerWidth, ()>
pub fn pointer_width(&self) -> Result<PointerWidth, ()>
Return the pointer width of this target’s architecture.
This function is aware of x32 and ilp32 ABIs on 64-bit architectures.
pub fn default_calling_convention(&self) -> Result<CallingConvention, ()>
pub fn default_calling_convention(&self) -> Result<CallingConvention, ()>
Return the default calling convention for the given target triple.
pub fn data_model(&self) -> Result<CDataModel, ()>
pub fn data_model(&self) -> Result<CDataModel, ()>
The C data model for a given target. If the model is not known, returns Err(())
.
Trait Implementations§
impl Eq for Triple
impl StructuralPartialEq for Triple
Auto Trait Implementations§
impl Freeze for Triple
impl RefUnwindSafe for Triple
impl Send for Triple
impl Sync for Triple
impl Unpin for Triple
impl UnwindSafe for Triple
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more