[][src]Trait flatk::StorageView

pub trait StorageView<'a> {
    type StorageView;
    fn storage_view(&'a self) -> Self::StorageView;
}

Associated Types

Loading content...

Required methods

fn storage_view(&'a self) -> Self::StorageView

Loading content...

Implementations on Foreign Types

impl<'a, T: Clone> StorageView<'a> for Range<T>[src]

type StorageView = Self

impl<'a, T> StorageView<'a> for &'a [T][src]

type StorageView = &'a [T]

impl<'a, T: 'a> StorageView<'a> for Vec<T>[src]

type StorageView = &'a [T]

Loading content...

Implementors

impl<'a, S: StorageView<'a>, I> StorageView<'a> for Select<S, I>[src]

type StorageView = S::StorageView

fn storage_view(&'a self) -> Self::StorageView[src]

Return a view to the underlying storage type.

Example

use flatk::*;
let v = vec![1,2,3,4,5,6,7,8,9,10,11,12];
let s0 = Chunked3::from_flat(v.clone());
let s1 = Select::new(vec![1, 1, 0, 2], s0.clone());
assert_eq!(s1.storage_view(), v.as_slice());

impl<'a, S: StorageView<'a>, I> StorageView<'a> for Subset<S, I>[src]

type StorageView = S::StorageView

fn storage_view(&'a self) -> Self::StorageView[src]

Return a view to the underlying storage type.

Example

use flatk::*;
let v = vec![1,2,3,4,5,6,7,8,9,10,11,12];
let s0 = Chunked3::from_flat(v.clone());
let s1 = Subset::from_indices(vec![0, 2, 3], s0.clone());
assert_eq!(s1.storage_view(), v.as_slice());

impl<'a, S: StorageView<'a>, N> StorageView<'a> for UniChunked<S, N>[src]

type StorageView = S::StorageView

fn storage_view(&'a self) -> Self::StorageView[src]

Return a view to the underlying storage type.

Example

use flatk::*;
let v = vec![1,2,3,4,5,6,7,8,9,10,11,12];
let s0 = Chunked2::from_flat(v.clone());
let s1 = ChunkedN::from_flat_with_stride(s0.clone(), 3);
assert_eq!(s1.storage_view(), v.as_slice());
assert_eq!(s0.storage_view(), v.as_slice());

impl<'a, S: StorageView<'a>, O> StorageView<'a> for Chunked<S, O>[src]

type StorageView = S::StorageView

fn storage_view(&'a self) -> Self::StorageView[src]

Return a view to the underlying storage type.

Example

use flatk::*;
let v = vec![1,2,3,4,5,6,7,8,9,10,11];
let s0 = Chunked::from_offsets(vec![0,3,4,6,9,11], v.clone());
let s1 = Chunked::from_offsets(vec![0,1,4,5], s0.clone());
assert_eq!(s1.storage_view(), v.as_slice());
assert_eq!(s0.storage_view(), v.as_slice());

impl<'a, S: StorageView<'a>, T, I> StorageView<'a> for Sparse<S, T, I>[src]

type StorageView = S::StorageView

fn storage_view(&'a self) -> Self::StorageView[src]

Return a view to the underlying storage type of source data.

Example

use flatk::*;
let v = vec![1,2,3,4,5,6,7,8,9,10,11,12];
let s0 = Chunked3::from_flat(v.clone());
let s1 = Sparse::from_dim(vec![0, 2, 2, 0], 4, s0.clone());
assert_eq!(s1.storage_view(), v.as_slice());
Loading content...