pub trait FMappingExt: Sized {
Show 27 methods
// Required methods
fn new() -> Self;
fn from_axes(axes: RSlice<'_, Term>) -> Self;
fn pop(&mut self) -> ROption<Factor>;
fn into_inner(self) -> RVec<Factor>;
fn is_padding(&self) -> bool;
fn has_terms(&self) -> bool;
fn terms_with_stride(&self) -> RVec<TermPosition>;
fn factors(&self) -> RSlice<'_, Factor>;
fn contains_ident(&self, ident: Ident) -> bool;
fn idents(&self) -> RVec<Ident>;
fn find_symbol_size(&self, ident: Ident) -> ROption<usize>;
fn eval(&self, position: usize) -> Index;
fn is_ident_isolated(&self, ident: Ident) -> bool;
fn into_factor(self) -> Factor;
fn mul(self, inner: FMapping) -> FMapping;
fn stride(self, stride: usize) -> FMapping;
fn modulo(self, modulo: usize) -> FMapping;
fn is_resize_of(&self, original: &FMapping) -> bool;
fn to_mapping(&self) -> Mapping;
fn divide_span(
self,
divisor: FMapping,
span: usize,
) -> RResult<Division<Span>, DivisionError>;
fn divide_relaxed(self, divisor: FMapping) -> Division<Relaxed>;
fn divide_strict(self, divisor: FMapping) -> Division<Strict>;
fn normalize(self) -> FMapping;
fn remove_padding(self) -> FMapping;
fn split_at(&self, target: usize) -> Tuple2<FMapping, FMapping>;
fn pad(self, target: usize) -> FMapping;
fn padding(self, padding: usize, kind: PaddingKind) -> FMapping;
}Expand description
Methods for FMapping.
Required Methods§
Sourcefn from_axes(axes: RSlice<'_, Term>) -> Self
fn from_axes(axes: RSlice<'_, Term>) -> Self
Creates a factor mapping from a slice of terms (axes).
Sourcefn into_inner(self) -> RVec<Factor>
fn into_inner(self) -> RVec<Factor>
Converts the factor mapping into a vector of factors.
Sourcefn is_padding(&self) -> bool
fn is_padding(&self) -> bool
Checks if the factor mapping is only padding.
Sourcefn terms_with_stride(&self) -> RVec<TermPosition>
fn terms_with_stride(&self) -> RVec<TermPosition>
Extracts each Term with its effective stride in this FMapping.
Sourcefn contains_ident(&self, ident: Ident) -> bool
fn contains_ident(&self, ident: Ident) -> bool
Returns true if any term in this FMapping contains the given ident.
Sourcefn find_symbol_size(&self, ident: Ident) -> ROption<usize>
fn find_symbol_size(&self, ident: Ident) -> ROption<usize>
Returns the original declared size of the given ident’s Symbol.
Sourcefn is_ident_isolated(&self, ident: Ident) -> bool
fn is_ident_isolated(&self, ident: Ident) -> bool
Returns true if the given ident is isolated.
Sourcefn into_factor(self) -> Factor
fn into_factor(self) -> Factor
Converts the factor mapping into a single factor.
Sourcefn mul(self, inner: FMapping) -> FMapping
fn mul(self, inner: FMapping) -> FMapping
Multiplies two factor mappings (composes outer × inner).
Sourcefn is_resize_of(&self, original: &FMapping) -> bool
fn is_resize_of(&self, original: &FMapping) -> bool
Returns true if self is a resize of original.
Sourcefn to_mapping(&self) -> Mapping
fn to_mapping(&self) -> Mapping
Converts the factor mapping into a mapping expression.
Sourcefn divide_span(
self,
divisor: FMapping,
span: usize,
) -> RResult<Division<Span>, DivisionError>
fn divide_span( self, divisor: FMapping, span: usize, ) -> RResult<Division<Span>, DivisionError>
Divides the factor mapping by a single-term divisor with a span.
Sourcefn divide_relaxed(self, divisor: FMapping) -> Division<Relaxed>
fn divide_relaxed(self, divisor: FMapping) -> Division<Relaxed>
Divides the factor mapping with read-accessible (Top) matched-hole padding.
Sourcefn divide_strict(self, divisor: FMapping) -> Division<Strict>
fn divide_strict(self, divisor: FMapping) -> Division<Strict>
Divides the factor mapping with analysis-capable (Bottom) matched-hole padding.
Sourcefn remove_padding(self) -> FMapping
fn remove_padding(self) -> FMapping
Removes all right padding.
Sourcefn split_at(&self, target: usize) -> Tuple2<FMapping, FMapping>
fn split_at(&self, target: usize) -> Tuple2<FMapping, FMapping>
Splits the mapping at target from the innermost side.
Sourcefn padding(self, padding: usize, kind: PaddingKind) -> FMapping
fn padding(self, padding: usize, kind: PaddingKind) -> FMapping
Applies padding to the factor mapping.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.