pub struct MeetOperation<'c> { /* private fields */ }Expand description
A meet operation. Returns the least general shape or size of its operands.
An operation that computes the least general shape or dim of input operands. This effectively asserts that corresponding static dimensions are equal. The behavior is to match each element of the shape/size and propagate the most restrictive information, returning an invalid shape if there are contradictory requirements. E.g., using pseudo code
shape.meet([*], [*]) -> [*]
shape.meet([*], [1, ?]) -> [1, ?]
shape.meet([1, 2], [1, ?]) -> [1, 2]
shape.meet([*], [1, 2]) -> [1, 2]
shape.meet([], []) -> []
shape.meet([], [*]) -> []
shape.meet([], [?, ?]) -> [invalid]
shape.meet([1, ?], [2, ?, ?]) -> [invalid]shape.meet also allows specifying an optional error string, that may be
used to return an error to the user upon mismatch of dimensions.
%c = shape.meet %a, %b, error="<reason>" : !shape.shape, !shape.shape -> !shape.shapeImplementations§
Source§impl<'c> MeetOperation<'c>
impl<'c> MeetOperation<'c>
Sourcepub fn as_operation(&self) -> &Operation<'c>
pub fn as_operation(&self) -> &Operation<'c>
Returns a generic operation.
Sourcepub fn builder(
context: &'c Context,
location: Location<'c>,
) -> MeetOperationBuilder<'c, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c>, ) -> MeetOperationBuilder<'c, Unset, Unset>
Creates a builder.
pub fn result(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn arg_0(&self) -> Result<Value<'c, '_>, Error>
pub fn arg_1(&self) -> Result<Value<'c, '_>, Error>
pub fn error(&self) -> Result<StringAttribute<'c>, Error>
pub fn set_error(&mut self, value: StringAttribute<'c>)
pub fn remove_error(&mut self) -> Result<(), Error>
Trait Implementations§
Source§impl<'c> Clone for MeetOperation<'c>
impl<'c> Clone for MeetOperation<'c>
Source§fn clone(&self) -> MeetOperation<'c>
fn clone(&self) -> MeetOperation<'c>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'c> Debug for MeetOperation<'c>
impl<'c> Debug for MeetOperation<'c>
Source§impl<'b> From<MeetOperation<'b>> for ShapeDialectOperation<'b>
impl<'b> From<MeetOperation<'b>> for ShapeDialectOperation<'b>
Source§fn from(op: MeetOperation<'b>) -> Self
fn from(op: MeetOperation<'b>) -> Self
Converts to this type from the input type.
Source§impl<'c> From<MeetOperation<'c>> for Operation<'c>
impl<'c> From<MeetOperation<'c>> for Operation<'c>
Source§fn from(operation: MeetOperation<'c>) -> Self
fn from(operation: MeetOperation<'c>) -> Self
Converts to this type from the input type.
Source§impl<'c> PartialEq for MeetOperation<'c>
impl<'c> PartialEq for MeetOperation<'c>
Source§impl<'c> TryFrom<Operation<'c>> for MeetOperation<'c>
impl<'c> TryFrom<Operation<'c>> for MeetOperation<'c>
impl<'c> Eq for MeetOperation<'c>
impl<'c> StructuralPartialEq for MeetOperation<'c>
Auto Trait Implementations§
impl<'c> Freeze for MeetOperation<'c>
impl<'c> RefUnwindSafe for MeetOperation<'c>
impl<'c> !Send for MeetOperation<'c>
impl<'c> !Sync for MeetOperation<'c>
impl<'c> Unpin for MeetOperation<'c>
impl<'c> UnwindSafe for MeetOperation<'c>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more