Trait ndarray::Dimension [] [src]

pub unsafe trait Dimension: Clone + Eq + Debug + Send + Sync + Default + IndexMut<usize, Output = usize> + Add<Self, Output = Self> + AddAssign + for<'x> AddAssign<&'x Self> + Sub<Self, Output = Self> + SubAssign + for<'x> SubAssign<&'x Self> + Mul<usize, Output = Self> + Mul<Self, Output = Self> + MulAssign + for<'x> MulAssign<&'x Self> + MulAssign<usize> {
    type SliceArg: ?Sized + AsRef<[Si]>;
    type Pattern: IntoDimension<Dim = Self>;
    fn into_pattern(self) -> Self::Pattern;

    fn size(&self) -> usize { ... }
    fn size_checked(&self) -> Option<usize> { ... }
    fn as_array_view(&self) -> ArrayView1<Ix> { ... }
    fn as_array_view_mut(&mut self) -> ArrayViewMut1<Ix> { ... }

Array shape and index trait.

This trait defines a number of methods and operations that can be used on dimensions and indices.

Note: Don't implement this trait.

Associated Types

SliceArg is the type which is used to specify slicing for this dimension.

For the fixed size dimensions it is a fixed size array of the correct size, which you pass by reference. For the Vec dimension it is a slice.

  • For Ix1: [Si; 1]
  • For Ix2: [Si; 2]
  • and so on..
  • For Vec<Ix>: [Si]

The easiest way to create a &SliceArg is using the macro s![].

Pattern matching friendly form of the dimension value.

  • For Ix1: usize,
  • For Ix2: (usize, usize)
  • and so on..
  • For Vec<Ix>: Vec<usize>,

Required Methods

Convert the dimension into a pattern matching friendly value.

Provided Methods

Compute the size of the dimension (number of elements)

Compute the size while checking for overflow.

Borrow as a read-only array view.

Borrow as a read-write array view.