[][src]Struct cranelift_codegen_meta::cdsl::typevar::TypeSet

pub(crate) struct TypeSet {
    pub lanes: BTreeSet<u16>,
    pub ints: BTreeSet<u16>,
    pub floats: BTreeSet<u16>,
    pub bools: BTreeSet<u16>,
    pub refs: BTreeSet<u16>,
    pub specials: Vec<SpecialType>,
}

Fields

lanes: BTreeSet<u16>ints: BTreeSet<u16>floats: BTreeSet<u16>bools: BTreeSet<u16>refs: BTreeSet<u16>specials: Vec<SpecialType>

Methods

impl TypeSet[src]

fn new(
    lanes: BTreeSet<u16>,
    ints: BTreeSet<u16>,
    floats: BTreeSet<u16>,
    bools: BTreeSet<u16>,
    refs: BTreeSet<u16>,
    specials: Vec<SpecialType>
) -> Self
[src]

pub fn size(&self) -> usize[src]

Return the number of concrete types represented by this typeset.

fn image(&self, derived_func: DerivedFunc) -> TypeSet[src]

Return the image of self across the derived function func.

fn lane_of(&self) -> TypeSet[src]

Return a TypeSet describing the image of self across lane_of.

fn as_bool(&self) -> TypeSet[src]

Return a TypeSet describing the image of self across as_bool.

fn half_width(&self) -> TypeSet[src]

Return a TypeSet describing the image of self across halfwidth.

fn double_width(&self) -> TypeSet[src]

Return a TypeSet describing the image of self across doublewidth.

fn half_vector(&self) -> TypeSet[src]

Return a TypeSet describing the image of self across halfvector.

fn double_vector(&self) -> TypeSet[src]

Return a TypeSet describing the image of self across doublevector.

fn concrete_types(&self) -> Vec<ValueType>[src]

fn get_singleton(&self) -> ValueType[src]

Return the singleton type represented by self. Can only call on typesets containing 1 type.

fn preimage(&self, func: DerivedFunc) -> TypeSet[src]

Return the inverse image of self across the derived function func.

pub fn inplace_intersect_with(&mut self, other: &TypeSet)[src]

pub fn is_subset(&self, other: &TypeSet) -> bool[src]

pub fn is_wider_or_equal(&self, other: &TypeSet) -> bool[src]

pub fn is_narrower(&self, other: &TypeSet) -> bool[src]

Trait Implementations

impl Clone for TypeSet[src]

impl Debug for TypeSet[src]

impl Eq for TypeSet[src]

impl Hash for TypeSet[src]

impl PartialEq<TypeSet> for TypeSet[src]

impl StructuralEq for TypeSet[src]

impl StructuralPartialEq for TypeSet[src]

Auto Trait Implementations

impl RefUnwindSafe for TypeSet

impl Send for TypeSet

impl Sync for TypeSet

impl Unpin for TypeSet

impl UnwindSafe for TypeSet

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.