pub unsafe trait RawStorageMut<T, R: Dim, C: Dim = U1>: RawStorage<T, R, C> {
    fn ptr_mut(&mut self) -> *mut T;
    unsafe fn as_mut_slice_unchecked(&mut self) -> &mut [T];

    fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T { ... }
    fn get_address_unchecked_mut(&mut self, irow: usize, icol: usize) -> *mut T { ... }
    unsafe fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut T { ... }
    unsafe fn get_unchecked_mut(&mut self, irow: usize, icol: usize) -> &mut T { ... }
    unsafe fn swap_unchecked_linear(&mut self, i1: usize, i2: usize) { ... }
    unsafe fn swap_unchecked(
        &mut self,
        row_col1: (usize, usize),
        row_col2: (usize, usize)
    ) { ... } }
Expand description

Trait implemented by matrix data storage that can provide a mutable access to its elements.

In generic code, it is recommended use the StorageMut trait bound instead. The RawStorageMut trait bound is generally used by code that needs to work with storages that contains MaybeUninit<T> elements.

Note that a mutable access does not mean that the matrix owns its data. For example, a mutable matrix view can provide mutable access to its elements even if it does not own its data (it contains only an internal reference to them).

Required Methods§

The matrix mutable data pointer.

Retrieves the mutable data buffer as a contiguous slice.

Matrix components may not be contiguous, depending on its strides.

Safety

The matrix components may not be stored in a contiguous way, depending on the strides. This method is unsafe because this can yield to invalid aliasing when called on some pairs of matrix slices originating from the same matrix with strides.

Provided Methods§

Gets the mutable address of the i-th matrix component without performing bound-checking.

Safety

If the index is out of bounds, dereferencing the result will cause undefined behavior.

Gets the mutable address of the i-th matrix component without performing bound-checking.

Safety

If the index is out of bounds, dereferencing the result will cause undefined behavior.

Retrieves a mutable reference to the i-th element without bound-checking.

Safety

If the index is out of bounds, the method will cause undefined behavior.

Retrieves a mutable reference to the element at (irow, icol) without bound-checking.

Safety

If the index is out of bounds, the method will cause undefined behavior.

Swaps two elements using their linear index without bound-checking.

Safety

If the indices are out of bounds, the method will cause undefined behavior.

Swaps two elements without bound-checking.

Safety

If the indices are out of bounds, the method will cause undefined behavior.

Implementors§