Struct slipstream::iterators::MutProxy [−][src]
A proxy object for iterating over mutable slices.
For technical reasons (mostly alignment and padding), it’s not possible to return a simple reference. This type is returned instead and it can be used to both read and write the vectors a slice is turned into.
Note that the data are written in the destructor. Usually, this should not matter, but if you
forget
, the changes will be lost (this is meant as a warning, not as a way to
implement poor-man’s transactions).
Trait Implementations
impl<'a, B: Debug, V: Debug> Debug for MutProxy<'a, B, V> where
V: AsRef<[B]>,
B: Copy,
[src]
V: AsRef<[B]>,
B: Copy,
impl<B, V> Deref for MutProxy<'_, B, V> where
V: AsRef<[B]>,
B: Copy,
[src]
V: AsRef<[B]>,
B: Copy,
impl<B, V> DerefMut for MutProxy<'_, B, V> where
V: AsRef<[B]>,
B: Copy,
[src]
V: AsRef<[B]>,
B: Copy,
impl<B, V> Drop for MutProxy<'_, B, V> where
V: AsRef<[B]>,
B: Copy,
[src]
V: AsRef<[B]>,
B: Copy,
impl<'a, A: Align, B: Repr, const S: usize> Vectorizable<MutProxy<'a, B, Vector<A, B, S>>> for &'a mut [B]
[src]
type Vectorizer = WriteVectorizer<'a, A, B, S>
An internal type managing the splitting into vectors. Read more
type Padding = Vector<A, B, S>
The input type provided by user to fill in the padding/uneven end. Read more
fn create(
self,
pad: Option<Vector<A, B, S>>
) -> (Self::Vectorizer, usize, Option<MutProxy<'a, B, Vector<A, B, S>>>)
[src]
self,
pad: Option<Vector<A, B, S>>
) -> (Self::Vectorizer, usize, Option<MutProxy<'a, B, Vector<A, B, S>>>)
fn vectorize(self) -> VectorizedIter<Self::Vectorizer, (), V>ⓘNotable traits for VectorizedIter<V, P, R>
impl<V, P, R> Iterator for VectorizedIter<V, P, R> where
V: Vectorizer<R>,
P: Partial<R>, type Item = R;
[src]
Notable traits for VectorizedIter<V, P, R>
impl<V, P, R> Iterator for VectorizedIter<V, P, R> where
V: Vectorizer<R>,
P: Partial<R>, type Item = R;
fn vectorize_pad(
self,
pad: Self::Padding
) -> VectorizedIter<Self::Vectorizer, Option<V>, V>ⓘNotable traits for VectorizedIter<V, P, R>
impl<V, P, R> Iterator for VectorizedIter<V, P, R> where
V: Vectorizer<R>,
P: Partial<R>, type Item = R;
[src]
self,
pad: Self::Padding
) -> VectorizedIter<Self::Vectorizer, Option<V>, V>ⓘ
Notable traits for VectorizedIter<V, P, R>
impl<V, P, R> Iterator for VectorizedIter<V, P, R> where
V: Vectorizer<R>,
P: Partial<R>, type Item = R;
Auto Trait Implementations
impl<'a, B, V> Send for MutProxy<'a, B, V> where
B: Send,
V: Send,
B: Send,
V: Send,
impl<'a, B, V> Sync for MutProxy<'a, B, V> where
B: Sync,
V: Sync,
B: Sync,
V: Sync,
impl<'a, B, V> Unpin for MutProxy<'a, B, V> where
V: Unpin,
V: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,