pub enum ShapeExpr {
SameAs {
operand: u8,
},
WithDim {
operand: u8,
axis: u8,
dim: Box<Dim>,
},
Dims(Vec<Dim>),
}Expand description
A whole-shape expression (ShapeExpr). The closed core is SameAs; WithDim
and Dims are the experimental-range extension constructors registered via the
KISS umbrella §6.4 registry (Ops §6.20-0009/-0010, issue #80), activating the
§6.20-0005 tags 0x0A/0x0B. Reduce (0x09) stays reserved (no consumer).
Variants§
SameAs
The operand’s whole shape.
WithDim
EXPERIMENTAL (umbrella §6.4; tag 0x0A, §6.20-0009). The operand’s shape
with the resolved axis (non-negative, or LAST = trailing) replaced by
dim. Functional spelling with_dim(operand, axis, dim).
Dims(Vec<Dim>)
EXPERIMENTAL (umbrella §6.4; tag 0x0B, §6.20-0010). A whole shape built
from N >= 0 ordered DimExprs (N = 0 = the rank-0 scalar shape).
Functional spelling dims([dim, …]).
Implementations§
Trait Implementations§
impl Eq for ShapeExpr
impl StructuralPartialEq for ShapeExpr
Auto Trait Implementations§
impl Freeze for ShapeExpr
impl RefUnwindSafe for ShapeExpr
impl Send for ShapeExpr
impl Sync for ShapeExpr
impl Unpin for ShapeExpr
impl UnsafeUnpin for ShapeExpr
impl UnwindSafe for ShapeExpr
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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