pub struct OperationRef<'c, 'a> { /* private fields */ }
Expand description

A reference to an operation.

Implementations§

source§

impl<'c, 'a> OperationRef<'c, 'a>

source

pub fn result(self, index: usize) -> Result<OperationResult<'c, 'a>, Error>

Returns a result at a position.

source

pub unsafe fn to_ref(&self) -> &'a Operation<'c>

Returns an operation.

This function is different from deref because the correct lifetime is kept for the return type.

§Safety

The returned reference is safe to use only in the lifetime scope of the operation reference.

source

pub const fn to_raw(self) -> MlirOperation

Converts an operation reference into a raw object.

source

pub unsafe fn from_raw(raw: MlirOperation) -> Self

Creates an operation reference from a raw object.

§Safety

A raw object must be valid.

source

pub unsafe fn from_option_raw(raw: MlirOperation) -> Option<Self>

Creates an optional operation reference from a raw object.

§Safety

A raw object must be valid.

Methods from Deref<Target = Operation<'c>>§

source

pub fn context(&self) -> ContextRef<'c>

Returns a context.

source

pub fn name(&self) -> Identifier<'c>

Returns a name.

source

pub fn block(&self) -> Option<BlockRef<'c, '_>>

Returns a block.

source

pub fn operand_count(&self) -> usize

Returns the number of operands.

source

pub fn operand(&self, index: usize) -> Result<Value<'c, '_>, Error>

Returns the operand at a position.

source

pub fn operands(&self) -> impl Iterator<Item = Value<'c, '_>>

Returns all operands.

source

pub fn result_count(&self) -> usize

Returns the number of results.

source

pub fn result(&self, index: usize) -> Result<OperationResult<'c, '_>, Error>

Returns a result at a position.

source

pub fn results(&self) -> impl Iterator<Item = OperationResult<'c, '_>>

Returns all results.

source

pub fn region_count(&self) -> usize

Returns the number of regions.

source

pub fn region(&self, index: usize) -> Result<RegionRef<'c, '_>, Error>

Returns a region at a position.

source

pub fn regions(&self) -> impl Iterator<Item = RegionRef<'c, '_>>

Returns all regions.

source

pub fn successor_count(&self) -> usize

Returns the number of successors.

source

pub fn successor(&self, index: usize) -> Result<BlockRef<'c, '_>, Error>

Returns a successor at a position.

source

pub fn successors(&self) -> impl Iterator<Item = BlockRef<'c, '_>>

Returns all successors.

source

pub fn attribute_count(&self) -> usize

Returns the number of attributes.

source

pub fn attribute_at( &self, index: usize ) -> Result<(Identifier<'c>, Attribute<'c>), Error>

Returns a attribute at a position.

source

pub fn attributes( &self ) -> impl Iterator<Item = (Identifier<'c>, Attribute<'c>)> + '_

Returns all attributes.

source

pub fn attribute(&self, name: &str) -> Result<Attribute<'c>, Error>

Returns a attribute with the given name.

source

pub fn has_attribute(&self, name: &str) -> bool

Checks if the operation has a attribute with the given name.

source

pub fn next_in_block(&self) -> Option<OperationRef<'c, '_>>

Returns a reference to the next operation in the same block.

source

pub fn next_in_block_mut(&self) -> Option<OperationRefMut<'c, '_>>

Returns a mutable reference to the next operation in the same block.

source

pub fn previous_in_block(&self) -> Option<OperationRef<'c, '_>>

Returns a reference to the next operation in the same block.

source

pub fn parent_operation(&self) -> Option<OperationRef<'c, '_>>

Returns a reference to a parent operation.

source

pub fn verify(&self) -> bool

Verifies an operation.

source

pub fn dump(&self)

Dumps an operation.

source

pub fn to_string_with_flags( &self, flags: OperationPrintingFlags ) -> Result<String, Error>

Prints an operation with flags.

Trait Implementations§

source§

impl<'c, 'a> Clone for OperationRef<'c, 'a>

source§

fn clone(&self) -> OperationRef<'c, 'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'c, 'a> Debug for OperationRef<'c, 'a>

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'c, 'a> Deref for OperationRef<'c, 'a>

§

type Target = Operation<'c>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'c, 'a> Display for OperationRef<'c, 'a>

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'c, 'a> PartialEq for OperationRef<'c, 'a>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'c, 'a> Copy for OperationRef<'c, 'a>

source§

impl<'c, 'a> Eq for OperationRef<'c, 'a>

Auto Trait Implementations§

§

impl<'c, 'a> RefUnwindSafe for OperationRef<'c, 'a>

§

impl<'c, 'a> !Send for OperationRef<'c, 'a>

§

impl<'c, 'a> !Sync for OperationRef<'c, 'a>

§

impl<'c, 'a> Unpin for OperationRef<'c, 'a>

§

impl<'c, 'a> UnwindSafe for OperationRef<'c, 'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.