pub struct Array<B: ?Sized> { /* private fields */ }Expand description
Multidimensional array type with static rank.
Implementations§
source§impl<B: BufferMut + ?Sized> Array<B>
impl<B: BufferMut + ?Sized> Array<B>
sourcepub fn as_mut_span(
&mut self
) -> &mut Array<SpanBuffer<B::Item, B::Dim, B::Layout>>
pub fn as_mut_span( &mut self ) -> &mut Array<SpanBuffer<B::Item, B::Dim, B::Layout>>
Returns a mutable array span of the entire array.
source§impl<T, D: Dim, A: Allocator> Array<GridBuffer<T, D, A>>
impl<T, D: Dim, A: Allocator> Array<GridBuffer<T, D, A>>
sourcepub fn append(&mut self, other: &mut Self)
pub fn append(&mut self, other: &mut Self)
Moves all elements from another array into the array along the outermost dimension.
Panics
Panics if the inner dimensions do not match.
sourcepub fn capacity(&self) -> usize
pub fn capacity(&self) -> usize
Returns the number of elements the array can hold without reallocating.
sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clears the array, removing all values.
Note that this method has no effect on the allocated capacity of the array.
sourcepub fn drain<R: RangeBounds<usize>>(
&mut self,
range: R
) -> Expression<Drain<'_, T, D, A>>
pub fn drain<R: RangeBounds<usize>>( &mut self, range: R ) -> Expression<Drain<'_, T, D, A>>
Removes the specified range from the array along the outermost dimension, and returns the removed range as an expression.
sourcepub fn expand<I: IntoExpression>(&mut self, expr: I)where
I::Item: IntoCloned<T>,
pub fn expand<I: IntoExpression>(&mut self, expr: I)where
I::Item: IntoCloned<T>,
Appends an expression to the array along the outermost dimension with broadcasting, cloning elements if needed.
If the rank of the expression equals one less than the rank of the array, the expression is assumed to have outermost dimension of size 1.
Panics
Panics if the inner dimensions do not match, or if the rank of the expression is not valid.
sourcepub fn into_flattened(self) -> Array<GridBuffer<T, Const<1>, A>>
pub fn into_flattened(self) -> Array<GridBuffer<T, Const<1>, A>>
Converts the array into a one-dimensional array.
sourcepub fn into_scalar(self) -> T
pub fn into_scalar(self) -> T
Converts an array with a single element into the contained value.
Panics
Panics if the array length is not equal to one.
sourcepub fn into_shape<S: Shape>(self, shape: S) -> Array<GridBuffer<T, S::Dim, A>>
pub fn into_shape<S: Shape>(self, shape: S) -> Array<GridBuffer<T, S::Dim, A>>
Converts the array into a reshaped array, which must have the same length.
Panics
Panics if the array length is changed.
sourcepub fn reserve(&mut self, additional: usize)
pub fn reserve(&mut self, additional: usize)
Reserves capacity for at least the additional number of elements in the array.
sourcepub fn reserve_exact(&mut self, additional: usize)
pub fn reserve_exact(&mut self, additional: usize)
Reserves the minimum capacity for the additional number of elements in the array.
sourcepub fn resize(&mut self, new_shape: D::Shape, value: T)
pub fn resize(&mut self, new_shape: D::Shape, value: T)
Resizes the array to the new shape, creating new elements with the given value.
sourcepub fn resize_with<F: FnMut() -> T>(&mut self, new_shape: D::Shape, f: F)where
A: Clone,
pub fn resize_with<F: FnMut() -> T>(&mut self, new_shape: D::Shape, f: F)where
A: Clone,
Resizes the array to the new shape, creating new elements from the given closure.
sourcepub unsafe fn set_shape(&mut self, new_shape: D::Shape)
pub unsafe fn set_shape(&mut self, new_shape: D::Shape)
Forces the array shape to the new shape.
Safety
All elements within the array length must be initialized.
sourcepub fn shrink_to(&mut self, min_capacity: usize)
pub fn shrink_to(&mut self, min_capacity: usize)
Shrinks the capacity of the array with a lower bound.
sourcepub fn shrink_to_fit(&mut self)
pub fn shrink_to_fit(&mut self)
Shrinks the capacity of the array as much as possible.
sourcepub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]
pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]
Returns the remaining spare capacity of the array as a slice of MaybeUninit<T>.
The returned slice can be used to fill the array with data, before marking
the data as initialized using the set_shape method.
sourcepub fn truncate(&mut self, size: usize)
pub fn truncate(&mut self, size: usize)
Shortens the array along the outermost dimension, keeping the first size elements.
sourcepub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>
pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>
Tries to reserve capacity for at least the additional number of elements in the array.
Errors
If the capacity overflows, or the allocator reports a failure, then an error is returned.
sourcepub fn try_reserve_exact(
&mut self,
additional: usize
) -> Result<(), TryReserveError>
pub fn try_reserve_exact( &mut self, additional: usize ) -> Result<(), TryReserveError>
Tries to reserve the minimum capacity for the additional number of elements in the array.
Errors
If the capacity overflows, or the allocator reports a failure, then an error is returned.
source§impl<T, D: Dim> Array<GridBuffer<T, D, Global>>
impl<T, D: Dim> Array<GridBuffer<T, D, Global>>
sourcepub fn from_elem(shape: D::Shape, elem: T) -> Selfwhere
T: Clone,
pub fn from_elem(shape: D::Shape, elem: T) -> Selfwhere
T: Clone,
Creates an array from the given element.
sourcepub fn from_expr<I: IntoExpression<Item = T, Dim = D>>(expr: I) -> Self
pub fn from_expr<I: IntoExpression<Item = T, Dim = D>>(expr: I) -> Self
Creates an array from the given expression.
sourcepub fn from_fn<F: FnMut(D::Shape) -> T>(shape: D::Shape, f: F) -> Self
pub fn from_fn<F: FnMut(D::Shape) -> T>(shape: D::Shape, f: F) -> Self
Creates an array with the results from the given function.
sourcepub unsafe fn from_raw_parts(
ptr: *mut T,
shape: D::Shape,
capacity: usize
) -> Self
pub unsafe fn from_raw_parts( ptr: *mut T, shape: D::Shape, capacity: usize ) -> Self
Creates an array from raw components of another array.
Safety
The pointer must be a valid allocation given the shape and capacity.
sourcepub fn into_raw_parts(self) -> (*mut T, D::Shape, usize)
pub fn into_raw_parts(self) -> (*mut T, D::Shape, usize)
Decomposes an array into its raw components.
sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Creates a new, empty array with the specified capacity.
source§impl<T, D: Dim, L: Layout> Array<SpanBuffer<T, D, L>>
impl<T, D: Dim, L: Layout> Array<SpanBuffer<T, D, L>>
sourcepub fn as_mut_ptr(&mut self) -> *mut T
pub fn as_mut_ptr(&mut self) -> *mut T
Returns a mutable pointer to the array buffer.
sourcepub fn assign<I: IntoExpression<Item = impl IntoCloned<T>>>(&mut self, expr: I)
pub fn assign<I: IntoExpression<Item = impl IntoCloned<T>>>(&mut self, expr: I)
Assigns an expression to the array span with broadcasting, cloning elements if needed.
Panics
Panics if the expression cannot be broadcast to the shape of the array span.
sourcepub fn axis_expr<const DIM: usize>(
&self
) -> Expression<AxisExpr<'_, T, D, <Const<DIM> as Axis<D>>::Remove<L>>>
pub fn axis_expr<const DIM: usize>( &self ) -> Expression<AxisExpr<'_, T, D, <Const<DIM> as Axis<D>>::Remove<L>>>
Returns an expression that gives array views iterating over the specified dimension.
When iterating over the outermost dimension, both the unit inner stride and the uniform stride properties are maintained, and the resulting array views have the same layout.
When iterating over the innermost dimension, the uniform stride property is maintained but not unit inner stride, and the resulting array views have flat or strided layout.
When iterating over the other dimensions, the unit inner stride propery is maintained but not uniform stride, and the resulting array views have general or strided layout.
sourcepub fn axis_expr_mut<const DIM: usize>(
&mut self
) -> Expression<AxisExprMut<'_, T, D, <Const<DIM> as Axis<D>>::Remove<L>>>
pub fn axis_expr_mut<const DIM: usize>( &mut self ) -> Expression<AxisExprMut<'_, T, D, <Const<DIM> as Axis<D>>::Remove<L>>>
Returns a mutable expression that gives array views iterating over the specified dimension.
When iterating over the outermost dimension, both the unit inner stride and the uniform stride properties are maintained, and the resulting array views have the same layout.
When iterating over the innermost dimension, the uniform stride property is maintained but not unit inner stride, and the resulting array views have flat or strided layout.
When iterating over the other dimensions, the unit inner stride propery is maintained but not uniform stride, and the resulting array views have general or strided layout.
sourcepub fn cols(&self) -> Expression<Lanes<'_, T, D, L::Uniform>>
pub fn cols(&self) -> Expression<Lanes<'_, T, D, L::Uniform>>
Returns an expression that gives column views iterating over the other dimensions.
Panics
Panics if the rank is not at least 1.
sourcepub fn cols_mut(&mut self) -> Expression<LanesMut<'_, T, D, L::Uniform>>
pub fn cols_mut(&mut self) -> Expression<LanesMut<'_, T, D, L::Uniform>>
Returns a mutable expression that gives column views iterating over the other dimensions.
Panics
Panics if the rank is not at least 1.
sourcepub fn contains(&self, x: &T) -> boolwhere
T: PartialEq,
pub fn contains(&self, x: &T) -> boolwhere
T: PartialEq,
Returns true if the array span contains an element with the given value.
sourcepub fn expr(&self) -> Expression<Expr<'_, T, D, L>>
pub fn expr(&self) -> Expression<Expr<'_, T, D, L>>
Returns an expression over the array span.
sourcepub fn expr_mut(&mut self) -> Expression<ExprMut<'_, T, D, L>>
pub fn expr_mut(&mut self) -> Expression<ExprMut<'_, T, D, L>>
Returns a mutable expression over the array span.
sourcepub fn fill(&mut self, value: T)where
T: Clone,
pub fn fill(&mut self, value: T)where
T: Clone,
Fills the array span with elements by cloning value.
sourcepub fn fill_with<F: FnMut() -> T>(&mut self, f: F)
pub fn fill_with<F: FnMut() -> T>(&mut self, f: F)
Fills the array span with elements returned by calling a closure repeatedly.
sourcepub fn flatten(&self) -> Array<ViewBuffer<'_, T, Const<1>, L::Uniform>>
pub fn flatten(&self) -> Array<ViewBuffer<'_, T, Const<1>, L::Uniform>>
Returns a one-dimensional array view of the array span.
Panics
Panics if the array layout is not uniformly strided.
sourcepub fn flatten_mut(
&mut self
) -> Array<ViewBufferMut<'_, T, Const<1>, L::Uniform>>
pub fn flatten_mut( &mut self ) -> Array<ViewBufferMut<'_, T, Const<1>, L::Uniform>>
Returns a mutable one-dimensional array view over the array span.
Panics
Panics if the array layout is not uniformly strided.
sourcepub unsafe fn get_unchecked<I: SpanIndex<T, D, L>>(
&self,
index: I
) -> &I::Output
pub unsafe fn get_unchecked<I: SpanIndex<T, D, L>>( &self, index: I ) -> &I::Output
Returns a reference to an element or a subslice, without doing bounds checking.
Safety
The index must be within bounds of the array span.
sourcepub unsafe fn get_unchecked_mut<I: SpanIndex<T, D, L>>(
&mut self,
index: I
) -> &mut I::Output
pub unsafe fn get_unchecked_mut<I: SpanIndex<T, D, L>>( &mut self, index: I ) -> &mut I::Output
Returns a mutable reference to an element or a subslice, without doing bounds checking.
Safety
The index must be within bounds of the array span.
sourcepub fn is_contiguous(&self) -> bool
pub fn is_contiguous(&self) -> bool
Returns true if the array strides are consistent with contiguous memory layout.
sourcepub fn is_uniformly_strided(&self) -> bool
pub fn is_uniformly_strided(&self) -> bool
Returns true if the array strides are consistent with uniformly strided memory layout.
sourcepub fn iter_mut(&mut self) -> Iter<ExprMut<'_, T, D, L>> ⓘ
pub fn iter_mut(&mut self) -> Iter<ExprMut<'_, T, D, L>> ⓘ
Returns a mutable iterator over the array span.
sourcepub fn lanes<const DIM: usize>(
&self
) -> Expression<Lanes<'_, T, D, <Const<DIM> as Axis<D>>::Keep<L>>>
pub fn lanes<const DIM: usize>( &self ) -> Expression<Lanes<'_, T, D, <Const<DIM> as Axis<D>>::Keep<L>>>
Returns an expression that gives array views over the specified dimension, iterating over the other dimensions.
If the innermost dimension is specified, the resulting array views have dense or flat layout. For other dimensions, the resulting array views have flat layout.
sourcepub fn lanes_mut<const DIM: usize>(
&mut self
) -> Expression<LanesMut<'_, T, D, <Const<DIM> as Axis<D>>::Keep<L>>>
pub fn lanes_mut<const DIM: usize>( &mut self ) -> Expression<LanesMut<'_, T, D, <Const<DIM> as Axis<D>>::Keep<L>>>
Returns a mutable expression that gives array views over the specified dimension, iterating over the other dimensions.
If the innermost dimension is specified, the resulting array views have dense or flat layout. For other dimensions, the resulting array views have flat layout.
sourcepub fn outer_expr(
&self
) -> Expression<AxisExpr<'_, T, D, <D::Lower as Dim>::Layout<L>>>
pub fn outer_expr( &self ) -> Expression<AxisExpr<'_, T, D, <D::Lower as Dim>::Layout<L>>>
Returns an expression that gives array views iterating over the outermost dimension.
Iterating over the outermost dimension maintains both the unit inner stride and the uniform stride properties, and the resulting array views have the same layout.
Panics
Panics if the rank is not at least 1.
sourcepub fn outer_expr_mut(
&mut self
) -> Expression<AxisExprMut<'_, T, D, <D::Lower as Dim>::Layout<L>>>
pub fn outer_expr_mut( &mut self ) -> Expression<AxisExprMut<'_, T, D, <D::Lower as Dim>::Layout<L>>>
Returns a mutable expression that gives array views iterating over the outermost dimension.
Iterating over the outermost dimension maintains both the unit inner stride and the uniform stride properties, and the resulting array views have the same layout.
Panics
Panics if the rank is not at least 1.
sourcepub fn remap<M: Layout>(&self) -> Array<ViewBuffer<'_, T, D, M>>
pub fn remap<M: Layout>(&self) -> Array<ViewBuffer<'_, T, D, M>>
Returns a remapped array view of the array span.
Panics
Panics if the memory layout is not compatible with the new array layout.
sourcepub fn remap_mut<M: Layout>(&mut self) -> Array<ViewBufferMut<'_, T, D, M>>
pub fn remap_mut<M: Layout>(&mut self) -> Array<ViewBufferMut<'_, T, D, M>>
Returns a mutable remapped array view of the array span.
Panics
Panics if the memory layout is not compatible with the new array layout.
sourcepub fn reshape<S: Shape>(
&self,
shape: S
) -> Array<ViewBuffer<'_, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
pub fn reshape<S: Shape>( &self, shape: S ) -> Array<ViewBuffer<'_, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
Returns a reshaped array view of the array span, with similar layout.
Panics
Panics if the array length is changed, or the memory layout is not compatible.
sourcepub fn reshape_mut<S: Shape>(
&mut self,
shape: S
) -> Array<ViewBufferMut<'_, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
pub fn reshape_mut<S: Shape>( &mut self, shape: S ) -> Array<ViewBufferMut<'_, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
Returns a mutable reshaped array view of the array span, with similar layout.
Panics
Panics if the array length is changed, or the memory layout is not compatible.
sourcepub fn rows(&self) -> Expression<Lanes<'_, T, D, Flat>>
pub fn rows(&self) -> Expression<Lanes<'_, T, D, Flat>>
Returns an expression that gives row views iterating over the other dimensions.
Panics
Panics if the rank is not at least 2.
sourcepub fn rows_mut(&mut self) -> Expression<LanesMut<'_, T, D, Flat>>
pub fn rows_mut(&mut self) -> Expression<LanesMut<'_, T, D, Flat>>
Returns a mutable expression that gives row views iterating over the other dimensions.
Panics
Panics if the rank is not at least 2.
sourcepub fn size(&self, dim: usize) -> usize
pub fn size(&self, dim: usize) -> usize
Returns the number of elements in the specified dimension.
Panics
Panics if the dimension is out of bounds.
sourcepub fn split_at(
&self,
mid: usize
) -> (Array<ViewBuffer<'_, T, D, L>>, Array<ViewBuffer<'_, T, D, L>>)
pub fn split_at( &self, mid: usize ) -> (Array<ViewBuffer<'_, T, D, L>>, Array<ViewBuffer<'_, T, D, L>>)
Divides an array span into two at an index along the outermost dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub fn split_at_mut(
&mut self,
mid: usize
) -> (Array<ViewBufferMut<'_, T, D, L>>, Array<ViewBufferMut<'_, T, D, L>>)
pub fn split_at_mut( &mut self, mid: usize ) -> (Array<ViewBufferMut<'_, T, D, L>>, Array<ViewBufferMut<'_, T, D, L>>)
Divides a mutable array span into two at an index along the outermost dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub fn split_axis_at<const DIM: usize>(
&self,
mid: usize
) -> (Array<ViewBuffer<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBuffer<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
pub fn split_axis_at<const DIM: usize>( &self, mid: usize ) -> (Array<ViewBuffer<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBuffer<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
Divides an array span into two at an index along the specified dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub fn split_axis_at_mut<const DIM: usize>(
&mut self,
mid: usize
) -> (Array<ViewBufferMut<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBufferMut<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
pub fn split_axis_at_mut<const DIM: usize>( &mut self, mid: usize ) -> (Array<ViewBufferMut<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBufferMut<'_, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
Divides a mutable array span into two at an index along the specified dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub fn stride(&self, dim: usize) -> isize
pub fn stride(&self, dim: usize) -> isize
Returns the distance between elements in the specified dimension.
Panics
Panics if the dimension is out of bounds.
sourcepub fn to_grid(&self) -> Array<GridBuffer<T, D, Global>>where
T: Clone,
pub fn to_grid(&self) -> Array<GridBuffer<T, D, Global>>where
T: Clone,
Copies the array span into a new array.
sourcepub fn to_view(&self) -> Array<ViewBuffer<'_, T, D, L>>
pub fn to_view(&self) -> Array<ViewBuffer<'_, T, D, L>>
Returns an array view of the entire array span.
sourcepub fn to_view_mut(&mut self) -> Array<ViewBufferMut<'_, T, D, L>>
pub fn to_view_mut(&mut self) -> Array<ViewBufferMut<'_, T, D, L>>
Returns a mutable array view of the entire array span.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<2>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<2>, L>>
sourcepub fn col_mut(
&mut self,
index: usize
) -> Array<ViewBufferMut<'_, T, Const<1>, L::Uniform>>
pub fn col_mut( &mut self, index: usize ) -> Array<ViewBufferMut<'_, T, Const<1>, L::Uniform>>
sourcepub fn diag(&self, index: isize) -> Array<ViewBuffer<'_, T, Const<1>, Flat>>
pub fn diag(&self, index: isize) -> Array<ViewBuffer<'_, T, Const<1>, Flat>>
Returns an array view for the given diagonal of the array span,
where index > 0 is above and index < 0 is below the main diagonal.
Panics
Panics if the absolute index is larger than the number of columns or rows.
sourcepub fn diag_mut(
&mut self,
index: isize
) -> Array<ViewBufferMut<'_, T, Const<1>, Flat>>
pub fn diag_mut( &mut self, index: isize ) -> Array<ViewBufferMut<'_, T, Const<1>, Flat>>
Returns a mutable array view for the given diagonal of the array span,
where index > 0 is above and index < 0 is below the main diagonal.
Panics
Panics if the absolute index is larger than the number of columns or rows.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn permute<const X: usize>(
&self
) -> Array<ViewBuffer<'_, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
pub fn permute<const X: usize>(
&self
) -> Array<ViewBuffer<'_, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
Returns an array view with the dimensions permuted.
sourcepub fn permute_mut<const X: usize>(
&mut self
) -> Array<ViewBufferMut<'_, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
pub fn permute_mut<const X: usize>(
&mut self
) -> Array<ViewBufferMut<'_, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
Returns a mutable array view with the dimensions permuted.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn permute<const X: usize, const Y: usize>(
&self
) -> Array<ViewBuffer<'_, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
pub fn permute<const X: usize, const Y: usize>( &self ) -> Array<ViewBuffer<'_, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
Returns an array view with the dimensions permuted.
sourcepub fn permute_mut<const X: usize, const Y: usize>(
&mut self
) -> Array<ViewBufferMut<'_, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
pub fn permute_mut<const X: usize, const Y: usize>( &mut self ) -> Array<ViewBufferMut<'_, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
Returns a mutable array view with the dimensions permuted.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn permute<const X: usize, const Y: usize, const Z: usize>(
&self
) -> Array<ViewBuffer<'_, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
pub fn permute<const X: usize, const Y: usize, const Z: usize>( &self ) -> Array<ViewBuffer<'_, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
Returns an array view with the dimensions permuted.
sourcepub fn permute_mut<const X: usize, const Y: usize, const Z: usize>(
&mut self
) -> Array<ViewBufferMut<'_, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
pub fn permute_mut<const X: usize, const Y: usize, const Z: usize>( &mut self ) -> Array<ViewBufferMut<'_, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
Returns a mutable array view with the dimensions permuted.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn permute<const X: usize, const Y: usize, const Z: usize, const W: usize>(
&self
) -> Array<ViewBuffer<'_, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
pub fn permute<const X: usize, const Y: usize, const Z: usize, const W: usize>( &self ) -> Array<ViewBuffer<'_, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
Returns an array view with the dimensions permuted.
sourcepub fn permute_mut<const X: usize, const Y: usize, const Z: usize, const W: usize>(
&mut self
) -> Array<ViewBufferMut<'_, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
pub fn permute_mut<const X: usize, const Y: usize, const Z: usize, const W: usize>( &mut self ) -> Array<ViewBufferMut<'_, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
Returns a mutable array view with the dimensions permuted.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn permute<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize>(
&self
) -> Array<ViewBuffer<'_, T, Const<5>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>) as Permutation>::Layout<L>>>
pub fn permute<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize>( &self ) -> Array<ViewBuffer<'_, T, Const<5>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>) as Permutation>::Layout<L>>>
Returns an array view with the dimensions permuted.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn permute<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>(
&self
) -> Array<ViewBuffer<'_, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
pub fn permute<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>( &self ) -> Array<ViewBuffer<'_, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
Returns an array view with the dimensions permuted.
sourcepub fn permute_mut<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>(
&mut self
) -> Array<ViewBufferMut<'_, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
pub fn permute_mut<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>( &mut self ) -> Array<ViewBufferMut<'_, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
Returns a mutable array view with the dimensions permuted.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn grid<X: DimIndex, Y: DimIndex>(
&self,
x: X,
y: Y
) -> Array<GridBuffer<T, <(X, Y) as ViewIndex<Const<2>, L>>::Dim, Global>>where
T: Clone,
pub fn grid<X: DimIndex, Y: DimIndex>(
&self,
x: X,
y: Y
) -> Array<GridBuffer<T, <(X, Y) as ViewIndex<Const<2>, L>>::Dim, Global>>where
T: Clone,
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex>(
&self,
x: X,
y: Y,
z: Z
) -> Array<GridBuffer<T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, Global>>where
T: Clone,
pub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex>(
&self,
x: X,
y: Y,
z: Z
) -> Array<GridBuffer<T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, Global>>where
T: Clone,
sourcepub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex>(
&self,
x: X,
y: Y,
z: Z
) -> Array<ViewBuffer<'_, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
pub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex>( &self, x: X, y: Y, z: Z ) -> Array<ViewBuffer<'_, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
sourcepub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex>(
&mut self,
x: X,
y: Y,
z: Z
) -> Array<ViewBufferMut<'_, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
pub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex>( &mut self, x: X, y: Y, z: Z ) -> Array<ViewBufferMut<'_, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
Returns a mutable array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W
) -> Array<GridBuffer<T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, Global>>where
T: Clone,
pub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W
) -> Array<GridBuffer<T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, Global>>where
T: Clone,
sourcepub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W
) -> Array<ViewBuffer<'_, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
pub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>( &self, x: X, y: Y, z: Z, w: W ) -> Array<ViewBuffer<'_, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
sourcepub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>(
&mut self,
x: X,
y: Y,
z: Z,
w: W
) -> Array<ViewBufferMut<'_, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
pub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>( &mut self, x: X, y: Y, z: Z, w: W ) -> Array<ViewBufferMut<'_, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
Returns a mutable array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W,
u: U
) -> Array<GridBuffer<T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, Global>>where
T: Clone,
pub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W,
u: U
) -> Array<GridBuffer<T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, Global>>where
T: Clone,
sourcepub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W,
u: U
) -> Array<ViewBuffer<'_, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
pub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>( &self, x: X, y: Y, z: Z, w: W, u: U ) -> Array<ViewBuffer<'_, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
sourcepub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>(
&mut self,
x: X,
y: Y,
z: Z,
w: W,
u: U
) -> Array<ViewBufferMut<'_, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
pub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>( &mut self, x: X, y: Y, z: Z, w: W, u: U ) -> Array<ViewBufferMut<'_, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
Returns a mutable array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
impl<T, L: Layout> Array<SpanBuffer<T, Const<$n>, L>>
sourcepub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W,
u: U,
v: V
) -> Array<GridBuffer<T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, Global>>where
T: Clone,
pub fn grid<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W,
u: U,
v: V
) -> Array<GridBuffer<T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, Global>>where
T: Clone,
sourcepub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>(
&self,
x: X,
y: Y,
z: Z,
w: W,
u: U,
v: V
) -> Array<ViewBuffer<'_, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
pub fn view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>( &self, x: X, y: Y, z: Z, w: W, u: U, v: V ) -> Array<ViewBuffer<'_, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
sourcepub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>(
&mut self,
x: X,
y: Y,
z: Z,
w: W,
u: U,
v: V
) -> Array<ViewBufferMut<'_, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
pub fn view_mut<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>( &mut self, x: X, y: Y, z: Z, w: W, u: U, v: V ) -> Array<ViewBufferMut<'_, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
Returns a mutable array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, D: Dim, L: Layout> Array<ViewBuffer<'a, T, D, L>>
impl<'a, T, D: Dim, L: Layout> Array<ViewBuffer<'a, T, D, L>>
sourcepub fn into_flattened(self) -> Array<ViewBuffer<'a, T, Const<1>, L::Uniform>>
pub fn into_flattened(self) -> Array<ViewBuffer<'a, T, Const<1>, L::Uniform>>
Converts the array view into a one-dimensional array view.
Panics
Panics if the array layout is not uniformly strided.
sourcepub fn into_mapping<M: Layout>(self) -> Array<ViewBuffer<'a, T, D, M>>
pub fn into_mapping<M: Layout>(self) -> Array<ViewBuffer<'a, T, D, M>>
Converts the array view into a remapped array view.
Panics
Panics if the memory layout is not compatible with the new array layout.
sourcepub fn into_shape<S: Shape>(
self,
shape: S
) -> Array<ViewBuffer<'a, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
pub fn into_shape<S: Shape>( self, shape: S ) -> Array<ViewBuffer<'a, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
Converts the array view into a reshaped array view with similar layout.
Panics
Panics if the array length is changed, or the memory layout is not compatible.
sourcepub fn into_split_at(
self,
mid: usize
) -> (Array<ViewBuffer<'a, T, D, L>>, Array<ViewBuffer<'a, T, D, L>>)
pub fn into_split_at( self, mid: usize ) -> (Array<ViewBuffer<'a, T, D, L>>, Array<ViewBuffer<'a, T, D, L>>)
Divides the array view into two at an index along the outermost dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub fn into_split_axis_at<const DIM: usize>(
self,
mid: usize
) -> (Array<ViewBuffer<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBuffer<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
pub fn into_split_axis_at<const DIM: usize>( self, mid: usize ) -> (Array<ViewBuffer<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBuffer<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
Divides the array view into two at an index along the specified dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub unsafe fn new_unchecked(ptr: *const T, mapping: L::Mapping<D>) -> Self
pub unsafe fn new_unchecked(ptr: *const T, mapping: L::Mapping<D>) -> Self
Creates an array view from a raw pointer and layout.
Safety
The pointer must be non-null and a valid array view for the given layout.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<2>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<2>, L>>
sourcepub fn into_diag(self, index: isize) -> Array<ViewBuffer<'a, T, Const<1>, Flat>>
pub fn into_diag(self, index: isize) -> Array<ViewBuffer<'a, T, Const<1>, Flat>>
Converts the array view into a new array view for the given diagonal,
where index > 0 is above and index < 0 is below the main diagonal.
Panics
Panics if the absolute index is larger than the number of columns or rows.
source§impl<'a, T, D: Dim> Array<ViewBuffer<'a, T, D, Dense>>
impl<'a, T, D: Dim> Array<ViewBuffer<'a, T, D, Dense>>
sourcepub fn into_slice(self) -> &'a [T]
pub fn into_slice(self) -> &'a [T]
Converts the array view into a slice of all elements, where the array view must have dense layout.
source§impl<'a, T, D: Dim, L: Layout> Array<ViewBufferMut<'a, T, D, L>>
impl<'a, T, D: Dim, L: Layout> Array<ViewBufferMut<'a, T, D, L>>
sourcepub fn into_flattened(self) -> Array<ViewBufferMut<'a, T, Const<1>, L::Uniform>>
pub fn into_flattened(self) -> Array<ViewBufferMut<'a, T, Const<1>, L::Uniform>>
Converts the array view into a one-dimensional array view.
Panics
Panics if the array layout is not uniformly strided.
sourcepub fn into_mapping<M: Layout>(self) -> Array<ViewBufferMut<'a, T, D, M>>
pub fn into_mapping<M: Layout>(self) -> Array<ViewBufferMut<'a, T, D, M>>
Converts the array view into a remapped array view.
Panics
Panics if the memory layout is not compatible with the new array layout.
sourcepub fn into_shape<S: Shape>(
self,
shape: S
) -> Array<ViewBufferMut<'a, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
pub fn into_shape<S: Shape>( self, shape: S ) -> Array<ViewBufferMut<'a, T, S::Dim, <S::Dim as Dim>::Layout<L>>>
Converts the array view into a reshaped array view with similar layout.
Panics
Panics if the array length is changed, or the memory layout is not compatible.
sourcepub fn into_split_at(
self,
mid: usize
) -> (Array<ViewBufferMut<'a, T, D, L>>, Array<ViewBufferMut<'a, T, D, L>>)
pub fn into_split_at( self, mid: usize ) -> (Array<ViewBufferMut<'a, T, D, L>>, Array<ViewBufferMut<'a, T, D, L>>)
Divides the array view into two at an index along the outermost dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub fn into_split_axis_at<const DIM: usize>(
self,
mid: usize
) -> (Array<ViewBufferMut<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBufferMut<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
pub fn into_split_axis_at<const DIM: usize>( self, mid: usize ) -> (Array<ViewBufferMut<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>, Array<ViewBufferMut<'a, T, D, <Const<DIM> as Axis<D>>::Split<L>>>)
Divides the array view into two at an index along the specified dimension.
Panics
Panics if the split point is larger than the number of elements in that dimension.
sourcepub unsafe fn new_unchecked(ptr: *mut T, mapping: L::Mapping<D>) -> Self
pub unsafe fn new_unchecked(ptr: *mut T, mapping: L::Mapping<D>) -> Self
Creates an array view from a raw pointer and layout.
Safety
The pointer must be non-null and a valid array view for the given layout.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<2>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<2>, L>>
sourcepub fn into_diag(
self,
index: isize
) -> Array<ViewBufferMut<'a, T, Const<1>, Flat>>
pub fn into_diag( self, index: isize ) -> Array<ViewBufferMut<'a, T, Const<1>, Flat>>
Converts the array view into a new array view for the given diagonal,
where index > 0 is above and index < 0 is below the main diagonal.
Panics
Panics if the absolute index is larger than the number of columns or rows.
source§impl<'a, T, D: Dim> Array<ViewBufferMut<'a, T, D, Dense>>
impl<'a, T, D: Dim> Array<ViewBufferMut<'a, T, D, Dense>>
sourcepub fn into_slice(self) -> &'a mut [T]
pub fn into_slice(self) -> &'a mut [T]
Converts the array view into a slice of all elements, where the array view must have dense layout.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize>(
self
) -> Array<ViewBuffer<'a, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
pub fn into_permuted<const X: usize>(
self
) -> Array<ViewBuffer<'a, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize>(
self
) -> Array<ViewBufferMut<'a, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
pub fn into_permuted<const X: usize>(
self
) -> Array<ViewBufferMut<'a, T, Const<1>, <(Const<X>,) as Permutation>::Layout<L>>>where
(Const<X>,): Permutation,
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize>(
self
) -> Array<ViewBuffer<'a, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize>( self ) -> Array<ViewBuffer<'a, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize>(
self
) -> Array<ViewBufferMut<'a, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize>( self ) -> Array<ViewBufferMut<'a, T, Const<2>, <(Const<X>, Const<Y>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize>(
self
) -> Array<ViewBuffer<'a, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize>( self ) -> Array<ViewBuffer<'a, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize>(
self
) -> Array<ViewBufferMut<'a, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize>( self ) -> Array<ViewBufferMut<'a, T, Const<3>, <(Const<X>, Const<Y>, Const<Z>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize>(
self
) -> Array<ViewBuffer<'a, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize>( self ) -> Array<ViewBuffer<'a, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize>(
self
) -> Array<ViewBufferMut<'a, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize>( self ) -> Array<ViewBufferMut<'a, T, Const<4>, <(Const<X>, Const<Y>, Const<Z>, Const<W>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize>(
self
) -> Array<ViewBuffer<'a, T, Const<5>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize>( self ) -> Array<ViewBuffer<'a, T, Const<5>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize>(
self
) -> Array<ViewBufferMut<'a, T, Const<5>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize>( self ) -> Array<ViewBufferMut<'a, T, Const<5>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>(
self
) -> Array<ViewBuffer<'a, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>( self ) -> Array<ViewBuffer<'a, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>(
self
) -> Array<ViewBufferMut<'a, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
pub fn into_permuted<const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize>( self ) -> Array<ViewBufferMut<'a, T, Const<6>, <(Const<X>, Const<Y>, Const<Z>, Const<W>, Const<U>, Const<V>) as Permutation>::Layout<L>>>
Converts the array view into a new array view with the dimensions permuted.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex>(
self,
x: X,
y: Y
) -> Array<ViewBuffer<'a, T, <(X, Y) as ViewIndex<Const<2>, L>>::Dim, <(X, Y) as ViewIndex<Const<2>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex>( self, x: X, y: Y ) -> Array<ViewBuffer<'a, T, <(X, Y) as ViewIndex<Const<2>, L>>::Dim, <(X, Y) as ViewIndex<Const<2>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex>(
self,
x: X,
y: Y
) -> Array<ViewBufferMut<'a, T, <(X, Y) as ViewIndex<Const<2>, L>>::Dim, <(X, Y) as ViewIndex<Const<2>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex>( self, x: X, y: Y ) -> Array<ViewBufferMut<'a, T, <(X, Y) as ViewIndex<Const<2>, L>>::Dim, <(X, Y) as ViewIndex<Const<2>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex>(
self,
x: X,
y: Y,
z: Z
) -> Array<ViewBuffer<'a, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex>( self, x: X, y: Y, z: Z ) -> Array<ViewBuffer<'a, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex>(
self,
x: X,
y: Y,
z: Z
) -> Array<ViewBufferMut<'a, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex>( self, x: X, y: Y, z: Z ) -> Array<ViewBufferMut<'a, T, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Dim, <(X, Y, Z) as ViewIndex<Const<3>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>(
self,
x: X,
y: Y,
z: Z,
w: W
) -> Array<ViewBuffer<'a, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>( self, x: X, y: Y, z: Z, w: W ) -> Array<ViewBuffer<'a, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>(
self,
x: X,
y: Y,
z: Z,
w: W
) -> Array<ViewBufferMut<'a, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex>( self, x: X, y: Y, z: Z, w: W ) -> Array<ViewBufferMut<'a, T, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Dim, <(X, Y, Z, W) as ViewIndex<Const<4>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>(
self,
x: X,
y: Y,
z: Z,
w: W,
u: U
) -> Array<ViewBuffer<'a, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>( self, x: X, y: Y, z: Z, w: W, u: U ) -> Array<ViewBuffer<'a, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>(
self,
x: X,
y: Y,
z: Z,
w: W,
u: U
) -> Array<ViewBufferMut<'a, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex>( self, x: X, y: Y, z: Z, w: W, u: U ) -> Array<ViewBufferMut<'a, T, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Dim, <(X, Y, Z, W, U) as ViewIndex<Const<5>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBuffer<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>(
self,
x: X,
y: Y,
z: Z,
w: W,
u: U,
v: V
) -> Array<ViewBuffer<'a, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>( self, x: X, y: Y, z: Z, w: W, u: U, v: V ) -> Array<ViewBuffer<'a, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
source§impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
impl<'a, T, L: Layout> Array<ViewBufferMut<'a, T, Const<$n>, L>>
sourcepub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>(
self,
x: X,
y: Y,
z: Z,
w: W,
u: U,
v: V
) -> Array<ViewBufferMut<'a, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
pub fn into_view<X: DimIndex, Y: DimIndex, Z: DimIndex, W: DimIndex, U: DimIndex, V: DimIndex>( self, x: X, y: Y, z: Z, w: W, u: U, v: V ) -> Array<ViewBufferMut<'a, T, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Dim, <(X, Y, Z, W, U, V) as ViewIndex<Const<6>, L>>::Layout>>
Converts the array view into a new array view for the specified subarray.
Panics
Panics if the subarray is out of bounds.
Trait Implementations§
source§impl<T, D: Dim, I: IntoExpression, A: Allocator> Add<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> Add<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> AddAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> AddAssign<I> for Array<B>
source§fn add_assign(&mut self, rhs: I)
fn add_assign(&mut self, rhs: I)
+= operation. Read moresource§impl<'a, T, B: Buffer + ?Sized> Apply<T> for &'a Array<B>
impl<'a, T, B: Buffer + ?Sized> Apply<T> for &'a Array<B>
§type Output = Array<GridBuffer<T, <B as Buffer>::Dim, Global>>
type Output = Array<GridBuffer<T, <B as Buffer>::Dim, Global>>
§type ZippedWith<I: IntoExpression> = Array<GridBuffer<T, <<B as Buffer>::Dim as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
type ZippedWith<I: IntoExpression> = Array<GridBuffer<T, <<B as Buffer>::Dim as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
source§fn apply<F: FnMut(Self::Item) -> T>(self, f: F) -> Self::Output
fn apply<F: FnMut(Self::Item) -> T>(self, f: F) -> Self::Output
source§fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
source§impl<'a, T, B: BufferMut + ?Sized> Apply<T> for &'a mut Array<B>
impl<'a, T, B: BufferMut + ?Sized> Apply<T> for &'a mut Array<B>
§type Output = Array<GridBuffer<T, <B as Buffer>::Dim, Global>>
type Output = Array<GridBuffer<T, <B as Buffer>::Dim, Global>>
§type ZippedWith<I: IntoExpression> = Array<GridBuffer<T, <<B as Buffer>::Dim as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
type ZippedWith<I: IntoExpression> = Array<GridBuffer<T, <<B as Buffer>::Dim as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
source§fn apply<F: FnMut(Self::Item) -> T>(self, f: F) -> Self::Output
fn apply<F: FnMut(Self::Item) -> T>(self, f: F) -> Self::Output
source§fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
source§impl<T, D: Dim, A: Allocator> Apply<T> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, A: Allocator> Apply<T> for Array<GridBuffer<T, D, A>>
§type Output = Array<GridBuffer<T, D, A>>
type Output = Array<GridBuffer<T, D, A>>
§type ZippedWith<I: IntoExpression> = Array<GridBuffer<T, D, A>>
type ZippedWith<I: IntoExpression> = Array<GridBuffer<T, D, A>>
source§fn apply<F: FnMut(T) -> T>(self, f: F) -> Array<GridBuffer<T, D, A>>
fn apply<F: FnMut(T) -> T>(self, f: F) -> Array<GridBuffer<T, D, A>>
source§fn zip_with<I: IntoExpression, F>(
self,
expr: I,
f: F
) -> Array<GridBuffer<T, D, A>>
fn zip_with<I: IntoExpression, F>( self, expr: I, f: F ) -> Array<GridBuffer<T, D, A>>
source§impl<'a, T, U, D: Dim, L: Layout> Apply<U> for Array<ViewBuffer<'a, T, D, L>>
impl<'a, T, U, D: Dim, L: Layout> Apply<U> for Array<ViewBuffer<'a, T, D, L>>
§type Output = Array<GridBuffer<U, D, Global>>
type Output = Array<GridBuffer<U, D, Global>>
§type ZippedWith<I: IntoExpression> = Array<GridBuffer<U, <D as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
type ZippedWith<I: IntoExpression> = Array<GridBuffer<U, <D as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
source§fn apply<F: FnMut(&'a T) -> U>(self, f: F) -> Self::Output
fn apply<F: FnMut(&'a T) -> U>(self, f: F) -> Self::Output
source§fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
source§impl<'a, T, U, D: Dim, L: Layout> Apply<U> for Array<ViewBufferMut<'a, T, D, L>>
impl<'a, T, U, D: Dim, L: Layout> Apply<U> for Array<ViewBufferMut<'a, T, D, L>>
§type Output = Array<GridBuffer<U, D, Global>>
type Output = Array<GridBuffer<U, D, Global>>
§type ZippedWith<I: IntoExpression> = Array<GridBuffer<U, <D as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
type ZippedWith<I: IntoExpression> = Array<GridBuffer<U, <D as Dim>::Max<<I as IntoExpression>::Dim>, Global>>
source§fn apply<F: FnMut(&'a mut T) -> U>(self, f: F) -> Self::Output
fn apply<F: FnMut(&'a mut T) -> U>(self, f: F) -> Self::Output
source§fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
fn zip_with<I: IntoExpression, F>(self, expr: I, f: F) -> Self::ZippedWith<I>
source§impl<B: BufferMut + ?Sized> AsMut<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
impl<B: BufferMut + ?Sized> AsMut<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
source§impl<B: Buffer + ?Sized> AsRef<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
impl<B: Buffer + ?Sized> AsRef<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
source§impl<T, D: Dim, I: IntoExpression, A: Allocator> BitAnd<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> BitAnd<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> BitAndAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> BitAndAssign<I> for Array<B>
source§fn bitand_assign(&mut self, rhs: I)
fn bitand_assign(&mut self, rhs: I)
&= operation. Read moresource§impl<T, D: Dim, I: IntoExpression, A: Allocator> BitOr<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> BitOr<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> BitOrAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> BitOrAssign<I> for Array<B>
source§fn bitor_assign(&mut self, rhs: I)
fn bitor_assign(&mut self, rhs: I)
|= operation. Read moresource§impl<T, D: Dim, I: IntoExpression, A: Allocator> BitXor<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> BitXor<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> BitXorAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> BitXorAssign<I> for Array<B>
source§fn bitxor_assign(&mut self, rhs: I)
fn bitxor_assign(&mut self, rhs: I)
^= operation. Read moresource§impl<B: SizedBuffer> Borrow<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
impl<B: SizedBuffer> Borrow<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
source§impl<B: SizedBufferMut> BorrowMut<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
impl<B: SizedBufferMut> BorrowMut<Array<SpanBuffer<<B as Buffer>::Item, <B as Buffer>::Dim, <B as Buffer>::Layout>>> for Array<B>
source§fn borrow_mut(&mut self) -> &mut Array<SpanBuffer<B::Item, B::Dim, B::Layout>>
fn borrow_mut(&mut self) -> &mut Array<SpanBuffer<B::Item, B::Dim, B::Layout>>
source§impl<B: SizedBuffer> Deref for Array<B>
impl<B: SizedBuffer> Deref for Array<B>
source§impl<B: SizedBufferMut> DerefMut for Array<B>
impl<B: SizedBufferMut> DerefMut for Array<B>
source§impl<T, D: Dim, I: IntoExpression, A: Allocator> Div<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> Div<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> DivAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> DivAssign<I> for Array<B>
source§fn div_assign(&mut self, rhs: I)
fn div_assign(&mut self, rhs: I)
/= operation. Read moresource§impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for Array<GridBuffer<T, Const<1>, A>>
impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for Array<GridBuffer<T, Const<1>, A>>
source§fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)
fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)source§impl<T, A: Allocator> Extend<T> for Array<GridBuffer<T, Const<1>, A>>
impl<T, A: Allocator> Extend<T> for Array<GridBuffer<T, Const<1>, A>>
source§fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)
fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)source§impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize> From<&'a [[[[[[T; X]; Y]; Z]; W]; U]; V]> for Array<ViewBuffer<'a, T, Const<6>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize> From<&'a [[[[[[T; X]; Y]; Z]; W]; U]; V]> for Array<ViewBuffer<'a, T, Const<6>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize> From<&'a [[[[[T; X]; Y]; Z]; W]; U]> for Array<ViewBuffer<'a, T, Const<5>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize> From<&'a [[[[[T; X]; Y]; Z]; W]; U]> for Array<ViewBuffer<'a, T, Const<5>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize> From<&'a [[[[T; X]; Y]; Z]; W]> for Array<ViewBuffer<'a, T, Const<4>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize> From<&'a [[[[T; X]; Y]; Z]; W]> for Array<ViewBuffer<'a, T, Const<4>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize, const Z: usize> From<&'a [[[T; X]; Y]; Z]> for Array<ViewBuffer<'a, T, Const<3>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize> From<&'a [[[T; X]; Y]; Z]> for Array<ViewBuffer<'a, T, Const<3>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize> From<&'a [[T; X]; Y]> for Array<ViewBuffer<'a, T, Const<2>, Dense>>
impl<'a, T, const X: usize, const Y: usize> From<&'a [[T; X]; Y]> for Array<ViewBuffer<'a, T, Const<2>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize> From<&'a mut [[[[[[T; X]; Y]; Z]; W]; U]; V]> for Array<ViewBufferMut<'a, T, Const<6>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize> From<&'a mut [[[[[[T; X]; Y]; Z]; W]; U]; V]> for Array<ViewBufferMut<'a, T, Const<6>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize> From<&'a mut [[[[[T; X]; Y]; Z]; W]; U]> for Array<ViewBufferMut<'a, T, Const<5>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize> From<&'a mut [[[[[T; X]; Y]; Z]; W]; U]> for Array<ViewBufferMut<'a, T, Const<5>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize> From<&'a mut [[[[T; X]; Y]; Z]; W]> for Array<ViewBufferMut<'a, T, Const<4>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize, const W: usize> From<&'a mut [[[[T; X]; Y]; Z]; W]> for Array<ViewBufferMut<'a, T, Const<4>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize, const Z: usize> From<&'a mut [[[T; X]; Y]; Z]> for Array<ViewBufferMut<'a, T, Const<3>, Dense>>
impl<'a, T, const X: usize, const Y: usize, const Z: usize> From<&'a mut [[[T; X]; Y]; Z]> for Array<ViewBufferMut<'a, T, Const<3>, Dense>>
source§impl<'a, T, const X: usize, const Y: usize> From<&'a mut [[T; X]; Y]> for Array<ViewBufferMut<'a, T, Const<2>, Dense>>
impl<'a, T, const X: usize, const Y: usize> From<&'a mut [[T; X]; Y]> for Array<ViewBufferMut<'a, T, Const<2>, Dense>>
source§impl<'a, T, const X: usize> From<&'a mut [T; X]> for Array<ViewBufferMut<'a, T, Const<1>, Dense>>
impl<'a, T, const X: usize> From<&'a mut [T; X]> for Array<ViewBufferMut<'a, T, Const<1>, Dense>>
source§impl<T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize> From<[[[[[[T; X]; Y]; Z]; W]; U]; V]> for Array<GridBuffer<T, Const<6>, Global>>
impl<T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize, const V: usize> From<[[[[[[T; X]; Y]; Z]; W]; U]; V]> for Array<GridBuffer<T, Const<6>, Global>>
source§impl<T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize> From<[[[[[T; X]; Y]; Z]; W]; U]> for Array<GridBuffer<T, Const<5>, Global>>
impl<T, const X: usize, const Y: usize, const Z: usize, const W: usize, const U: usize> From<[[[[[T; X]; Y]; Z]; W]; U]> for Array<GridBuffer<T, Const<5>, Global>>
source§impl<T, const X: usize, const Y: usize, const Z: usize, const W: usize> From<[[[[T; X]; Y]; Z]; W]> for Array<GridBuffer<T, Const<4>, Global>>
impl<T, const X: usize, const Y: usize, const Z: usize, const W: usize> From<[[[[T; X]; Y]; Z]; W]> for Array<GridBuffer<T, Const<4>, Global>>
source§impl<T, const X: usize, const Y: usize, const Z: usize> From<[[[T; X]; Y]; Z]> for Array<GridBuffer<T, Const<3>, Global>>
impl<T, const X: usize, const Y: usize, const Z: usize> From<[[[T; X]; Y]; Z]> for Array<GridBuffer<T, Const<3>, Global>>
source§impl<T, const X: usize, const Y: usize> From<[[T; X]; Y]> for Array<GridBuffer<T, Const<2>, Global>>
impl<T, const X: usize, const Y: usize> From<[[T; X]; Y]> for Array<GridBuffer<T, Const<2>, Global>>
source§impl<T, D: Dim, A: Allocator> From<Array<GridBuffer<T, D, A>>> for Vec<T>
impl<T, D: Dim, A: Allocator> From<Array<GridBuffer<T, D, A>>> for Vec<T>
source§fn from(grid: Array<GridBuffer<T, D, A>>) -> Self
fn from(grid: Array<GridBuffer<T, D, A>>) -> Self
source§impl<T> FromIterator<T> for Array<GridBuffer<T, Const<1>, Global>>
impl<T> FromIterator<T> for Array<GridBuffer<T, Const<1>, Global>>
source§fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
source§impl<B: BufferMut + ?Sized, I: SpanIndex<B::Item, B::Dim, B::Layout>> IndexMut<I> for Array<B>
impl<B: BufferMut + ?Sized, I: SpanIndex<B::Item, B::Dim, B::Layout>> IndexMut<I> for Array<B>
source§impl<'a, B: Buffer + ?Sized> IntoExpression for &'a Array<B>
impl<'a, B: Buffer + ?Sized> IntoExpression for &'a Array<B>
source§impl<'a, B: BufferMut + ?Sized> IntoExpression for &'a mut Array<B>
impl<'a, B: BufferMut + ?Sized> IntoExpression for &'a mut Array<B>
source§impl<T, D: Dim, A: Allocator> IntoExpression for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, A: Allocator> IntoExpression for Array<GridBuffer<T, D, A>>
source§impl<'a, T, D: Dim, L: Layout> IntoExpression for Array<ViewBuffer<'a, T, D, L>>
impl<'a, T, D: Dim, L: Layout> IntoExpression for Array<ViewBuffer<'a, T, D, L>>
source§impl<'a, T, D: Dim, L: Layout> IntoExpression for Array<ViewBufferMut<'a, T, D, L>>
impl<'a, T, D: Dim, L: Layout> IntoExpression for Array<ViewBufferMut<'a, T, D, L>>
source§impl<'a, B: Buffer + ?Sized> IntoIterator for &'a Array<B>
impl<'a, B: Buffer + ?Sized> IntoIterator for &'a Array<B>
source§impl<'a, B: BufferMut + ?Sized> IntoIterator for &'a mut Array<B>
impl<'a, B: BufferMut + ?Sized> IntoIterator for &'a mut Array<B>
source§impl<T, D: Dim, A: Allocator> IntoIterator for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, A: Allocator> IntoIterator for Array<GridBuffer<T, D, A>>
source§impl<'a, T, D: 'a + Dim, L: Layout> IntoIterator for Array<ViewBuffer<'a, T, D, L>>
impl<'a, T, D: 'a + Dim, L: Layout> IntoIterator for Array<ViewBuffer<'a, T, D, L>>
source§impl<'a, T, D: 'a + Dim, L: Layout> IntoIterator for Array<ViewBufferMut<'a, T, D, L>>
impl<'a, T, D: 'a + Dim, L: Layout> IntoIterator for Array<ViewBufferMut<'a, T, D, L>>
source§impl<T, D: Dim, I: IntoExpression, A: Allocator> Mul<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> Mul<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> MulAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> MulAssign<I> for Array<B>
source§fn mul_assign(&mut self, rhs: I)
fn mul_assign(&mut self, rhs: I)
*= operation. Read moresource§impl<D: Dim, B: Buffer<Dim = D> + ?Sized, C: Buffer<Dim = D> + ?Sized> PartialEq<Array<C>> for Array<B>
impl<D: Dim, B: Buffer<Dim = D> + ?Sized, C: Buffer<Dim = D> + ?Sized> PartialEq<Array<C>> for Array<B>
source§impl<T: PartialOrd, B, C> PartialOrd<Array<C>> for Array<B>
impl<T: PartialOrd, B, C> PartialOrd<Array<C>> for Array<B>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresource§impl<T, D: Dim, I: IntoExpression, A: Allocator> Rem<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> Rem<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> RemAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> RemAssign<I> for Array<B>
source§fn rem_assign(&mut self, rhs: I)
fn rem_assign(&mut self, rhs: I)
%= operation. Read moresource§impl<T, D: Dim, I: IntoExpression, A: Allocator> Shl<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> Shl<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> ShlAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> ShlAssign<I> for Array<B>
source§fn shl_assign(&mut self, rhs: I)
fn shl_assign(&mut self, rhs: I)
<<= operation. Read moresource§impl<T, D: Dim, I: IntoExpression, A: Allocator> Shr<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> Shr<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> ShrAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> ShrAssign<I> for Array<B>
source§fn shr_assign(&mut self, rhs: I)
fn shr_assign(&mut self, rhs: I)
>>= operation. Read moresource§impl<T, D: Dim, I: IntoExpression, A: Allocator> Sub<I> for Array<GridBuffer<T, D, A>>
impl<T, D: Dim, I: IntoExpression, A: Allocator> Sub<I> for Array<GridBuffer<T, D, A>>
source§impl<B: BufferMut + ?Sized, I: IntoExpression> SubAssign<I> for Array<B>
impl<B: BufferMut + ?Sized, I: IntoExpression> SubAssign<I> for Array<B>
source§fn sub_assign(&mut self, rhs: I)
fn sub_assign(&mut self, rhs: I)
-= operation. Read more