[][src]Enum target_lexicon::CDataModel

#[non_exhaustive]pub enum CDataModel {
    LP32,
    ILP32,
    LLP64,
    LP64,
    ILP64,
}

The C data model used on a target.

See also https://en.cppreference.com/w/c/language/arithmetic_types

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
LP32

The data model used most commonly on Win16. long and pointer are 32 bits.

ILP32

The data model used most commonly on Win32 and 32-bit Unix systems.

int, long, and pointer are all 32 bits.

LLP64

The data model used most commonly on Win64

long long, and pointer are 64 bits.

LP64

The data model used most commonly on 64-bit Unix systems

long, and pointer are 64 bits.

ILP64

A rare data model used on early 64-bit Unix systems

int, long, and pointer are all 64 bits.

Implementations

impl CDataModel[src]

pub fn pointer_width(self) -> Size[src]

The width of a pointer (in the default address space).

pub fn short_size(self) -> Size[src]

The size of a C short. This is required to be at least 16 bits.

pub fn int_size(self) -> Size[src]

The size of a C int. This is required to be at least 16 bits.

pub fn long_size(self) -> Size[src]

The size of a C long. This is required to be at least 32 bits.

pub fn long_long_size(self) -> Size[src]

The size of a C long long. This is required (in C99+) to be at least 64 bits.

pub fn float_size(self) -> Size[src]

The size of a C float.

pub fn double_size(self) -> Size[src]

The size of a C double.

Trait Implementations

impl Clone for CDataModel[src]

impl Copy for CDataModel[src]

impl Debug for CDataModel[src]

impl Eq for CDataModel[src]

impl Hash for CDataModel[src]

impl PartialEq<CDataModel> for CDataModel[src]

impl StructuralEq for CDataModel[src]

impl StructuralPartialEq for CDataModel[src]

Auto Trait Implementations

impl Send for CDataModel

impl Sync for CDataModel

impl Unpin for CDataModel

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.