pub enum IndexComponent {
Single(Expr),
Range {
start: Option<Box<Expr>>,
end: Option<Box<Expr>>,
step: Option<Box<Expr>>,
inclusive: bool,
},
Full,
}Expand description
A single component of a multi-dimensional index expression.
Supports single-element indexing, range slicing, and full-dimension selection:
arr[i, j]→ Single(i), Single(j)arr[1..5, ::2]→ Range { start: 1, end: 5 }, Range { step: 2 }arr[.., 3]→ Full, Single(3)
Variants§
Single(Expr)
Single index: arr[i]
Range
Range with optional start, end, step: arr[1..5], arr[::2], arr[1..5::2]
Full
Full dimension: arr[..]
Trait Implementations§
Source§impl Clone for IndexComponent
impl Clone for IndexComponent
Source§fn clone(&self) -> IndexComponent
fn clone(&self) -> IndexComponent
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 Debug for IndexComponent
impl Debug for IndexComponent
Source§impl PartialEq for IndexComponent
impl PartialEq for IndexComponent
impl StructuralPartialEq for IndexComponent
Auto Trait Implementations§
impl Freeze for IndexComponent
impl RefUnwindSafe for IndexComponent
impl Send for IndexComponent
impl Sync for IndexComponent
impl Unpin for IndexComponent
impl UnwindSafe for IndexComponent
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