Skip to main content

AxisMove

Struct AxisMove 

Source
pub struct AxisMove {
    pub axis: Axis,
    pub start: u32,
    pub end: u32,
    pub at: u32,
}
Expand description

A row or column relocation on a single sheet: moves the contiguous band start..=end (1-based, inclusive) so its first row/column lands at at (1-based) after the move — Sheets’ own convention: “move rows 5:7 to row 2” means the band’s new start is row 2, in either direction.

Unlike GridEdit, nothing is created or destroyed: every coordinate on axis maps to exactly one output coordinate (see [move_coord]).

A move is backward when at < start and forward when at > end. at landing inside the band itself (start..=end) is a no-op — see the module doc. start == 0 or at == 0 is rejected (rows/columns are 1-based); start > end is rejected as a malformed band.

A well-formed AxisMove also has end itself within the sheet’s grid bounds — that precondition is on the caller, the same way it is on start <= end. [shift_refs_for_move] validates the destination footprint (at ..= at + width - 1) against the axis maximum, since an out-of-bounds destination is the one thing a move can newly request that insert/delete cannot, but it does not separately re-validate end against that maximum: an end already past the grid could only reach this function from a caller that mis-described the sheet’s own state.

Fields§

§axis: Axis§start: u32§end: u32§at: u32

Trait Implementations§

Source§

impl Clone for AxisMove

Source§

fn clone(&self) -> AxisMove

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for AxisMove

Source§

impl Debug for AxisMove

Source§

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

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

impl Eq for AxisMove

Source§

impl PartialEq for AxisMove

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for AxisMove

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.