pub unsafe trait StorageMut<T: Scalar, R: Dim, C: Dim = U1>: Storage<T, R, C> {
fn ptr_mut(&mut self) -> *mut T;
fn as_mut_slice(&mut self) -> &mut [T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
;
unsafe fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T { ... }
unsafe 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.
Note that a mutable access does not mean that the matrix owns its data. For example, a mutable matrix slice 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
Provided methods
unsafe fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T
unsafe fn get_address_unchecked_linear_mut(&mut self, i: usize) -> *mut T
Gets the mutable address of the i-th matrix component without performing bound-checking.
unsafe fn get_address_unchecked_mut(
&mut self,
irow: usize,
icol: usize
) -> *mut T
unsafe fn get_address_unchecked_mut(
&mut self,
irow: usize,
icol: usize
) -> *mut T
Gets the mutable address of the i-th matrix component without performing bound-checking.
unsafe fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut T
unsafe fn get_unchecked_linear_mut(&mut self, i: usize) -> &mut T
Retrieves a mutable reference to the i-th element without bound-checking.
unsafe fn get_unchecked_mut(&mut self, irow: usize, icol: usize) -> &mut T
unsafe fn get_unchecked_mut(&mut self, irow: usize, icol: usize) -> &mut T
Retrieves a mutable reference to the element at (irow, icol)
without bound-checking.
unsafe fn swap_unchecked_linear(&mut self, i1: usize, i2: usize)
unsafe fn swap_unchecked_linear(&mut self, i1: usize, i2: usize)
Swaps two elements using their linear index without bound-checking.