[−][src]Trait flatk::ViewMut
A trait defining a collection that can be accessed via a mutable (unique) view.
Associated Types
Loading content...Required methods
Loading content...Implementations on Foreign Types
impl<'a, T: 'a> ViewMut<'a> for [T; 1]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 2]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 3]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 4]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 5]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 6]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 7]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 8]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 9]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 10]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 11]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 12]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 13]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 14]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 15]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, T: 'a> ViewMut<'a> for [T; 16]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, S: ViewMut<'a>> ViewMut<'a> for Box<S>
[src]
impl<'a, T: 'a> ViewMut<'a> for [T]
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, S: ViewMut<'a>, T: ViewMut<'a>> ViewMut<'a> for (S, T)
[src]
impl<'a, T: 'a> ViewMut<'a> for Vec<T>
[src]
type Type = &'a mut [T]
fn view_mut(&'a mut self) -> Self::Type
[src]
impl<'a, '_, S: ?Sized + 'a + ViewMut<'a>> ViewMut<'a> for &'_ mut S
[src]
Blanket implementation of ViewMut
for all mutable borrows.
Implementors
impl<'a, O: AsMut<[usize]>> ViewMut<'a> for Offsets<O>
[src]
impl<'a, O: AsMut<[usize]>> ViewMut<'a> for SortedChunks<O>
[src]
impl<'a, S, I> ViewMut<'a> for Select<S, I> where
S: Set + ViewMut<'a>,
I: AsRef<[usize]>,
[src]
S: Set + ViewMut<'a>,
I: AsRef<[usize]>,
type Type = Select<S::Type, &'a [usize]>
fn view_mut(&'a mut self) -> Self::Type
[src]
Create a mutable view of this selection.
Example
use flatk::*; let mut v = vec!['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; let mut selection = Select::new(vec![1,2,4,1], v.as_mut_slice()); { let view = selection.view(); let mut iter = view.iter(); assert_eq!(Some((1, &'b')), iter.next()); assert_eq!(Some((2, &'c')), iter.next()); assert_eq!(Some((4, &'e')), iter.next()); assert_eq!(Some((1, &'b')), iter.next()); assert_eq!(None, iter.next()); } // Change all referenced elements to 'a'. let mut view = selection.view_mut(); for &i in view.indices.iter() { view.target[i] = 'a'; } let view = selection.view(); let mut iter = view.iter(); assert_eq!(Some((1, &'a')), iter.next()); assert_eq!(Some((2, &'a')), iter.next()); assert_eq!(Some((4, &'a')), iter.next()); assert_eq!(Some((1, &'a')), iter.next()); assert_eq!(None, iter.next());
impl<'a, S, I> ViewMut<'a> for Subset<S, I> where
S: Set + ViewMut<'a>,
I: AsRef<[usize]>,
[src]
S: Set + ViewMut<'a>,
I: AsRef<[usize]>,
type Type = Subset<S::Type, &'a [usize]>
fn view_mut(&'a mut self) -> Self::Type
[src]
Create a mutable view into this subset.
Example
use flatk::*; let mut v = vec![1,2,3,4,5]; let mut subset = Subset::from_indices(vec![0,2,4], v.as_mut_slice()); let mut view = subset.view_mut(); for i in view.iter_mut() { *i += 1; } assert_eq!(v, vec![2,2,4,4,6]);
impl<'a, S, N> ViewMut<'a> for UniChunked<S, N> where
S: ViewMut<'a>,
N: Copy,
[src]
S: ViewMut<'a>,
N: Copy,
type Type = UniChunked<<S as ViewMut<'a>>::Type, N>
fn view_mut(&'a mut self) -> Self::Type
[src]
Create a UniChunked
contiguous mutable (unique) view into the
underlying collection.
Example
use flatk::*; let mut s = Chunked2::from_flat(vec![0,1,2,3]); let mut v = s.view_mut(); { v.iter_mut().next().unwrap()[0] = 100; } let mut view_iter = v.iter(); assert_eq!(Some(&[100,1]), view_iter.next()); assert_eq!(Some(&[2,3]), view_iter.next()); assert_eq!(None, view_iter.next());
impl<'a, S, O> ViewMut<'a> for Chunked<S, O> where
S: ViewMut<'a>,
O: View<'a>,
[src]
S: ViewMut<'a>,
O: View<'a>,
type Type = Chunked<S::Type, O::Type>
fn view_mut(&'a mut self) -> Self::Type
[src]
Create a contiguous mutable (unique) view into this set.
Example
use flatk::*; let mut s = Chunked::<Vec<usize>>::from_offsets(vec![0,1,4,6], vec![0,1,2,3,4,5]); let mut v1 = s.view_mut(); v1.iter_mut().next().unwrap()[0] = 100; let mut view1_iter = v1.iter(); assert_eq!(Some(&[100][..]), view1_iter.next()); assert_eq!(Some(&[1,2,3][..]), view1_iter.next()); assert_eq!(Some(&[4,5][..]), view1_iter.next()); assert_eq!(None, view1_iter.next());
impl<'a, S, T, I> ViewMut<'a> for Sparse<S, T, I> where
S: Set + ViewMut<'a>,
T: Set + View<'a>,
I: AsMut<[usize]>,
[src]
S: Set + ViewMut<'a>,
T: Set + View<'a>,
I: AsMut<[usize]>,