[][src]Struct flatdata::MultiArrayView

pub struct MultiArrayView<'a, Ts> where
    Ts: VariadicRefFactory
{ /* fields omitted */ }

A read-only view on a multivector.

For the detailed description of multivector and examples, cf. MultiVector.

Implementations

impl<'a, Ts> MultiArrayView<'a, Ts> where
    Ts: VariadicRefFactory
[src]

pub fn new(index: &'a [Ts::Index], data: &'a [u8]) -> Self[src]

Creates a new MultiArrayView to the data at the given address.

The returned array view does not own the data.

pub fn len(&self) -> usize[src]

Number of indexed items in the array.

Note that this is not the total number of overall elements stored in the array. An item may be also empty.

pub fn is_empty(&self) -> bool[src]

Returns true if no item is stored in the array.

pub fn at(&self, index: usize) -> MultiArrayViewItemIter<'a, Ts>[src]

Returns a read-only iterator to the elements of the item at position index.

Panics

Panics if index is greater than or equal to MultiArrayView::len().

pub fn slice<R: SliceIndex<[Ts::Index], Output = [Ts::Index]>>(
    &self,
    range: R
) -> Self
[src]

Slice this array view by a given range.

Panics

Panics if the range is outside of bounds of array view.

pub fn iter(&self) -> MultiArrayViewIter<'a, Ts>[src]

Returns an iterator through the indexed items of the array.

Trait Implementations

impl<'a, Ts> Clone for MultiArrayView<'a, Ts> where
    Ts: VariadicRefFactory
[src]

impl<'a, Ts: 'a> Debug for MultiArrayView<'a, Ts> where
    Ts: VariadicRefFactory
[src]

impl<'a, Ts: 'a> IntoIterator for MultiArrayView<'a, Ts> where
    Ts: VariadicRefFactory
[src]

type Item = <MultiArrayViewIter<'a, Ts> as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = MultiArrayViewIter<'a, Ts>

Which kind of iterator are we turning this into?

impl<'a, '_, Ts: 'a> IntoIterator for &'_ MultiArrayView<'a, Ts> where
    Ts: VariadicRefFactory
[src]

type Item = <MultiArrayViewIter<'a, Ts> as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = MultiArrayViewIter<'a, Ts>

Which kind of iterator are we turning this into?

Auto Trait Implementations

impl<'a, Ts> RefUnwindSafe for MultiArrayView<'a, Ts> where
    <Ts as VariadicIndex>::Index: RefUnwindSafe

impl<'a, Ts> Send for MultiArrayView<'a, Ts> where
    <Ts as VariadicIndex>::Index: Sync

impl<'a, Ts> Sync for MultiArrayView<'a, Ts> where
    <Ts as VariadicIndex>::Index: Sync

impl<'a, Ts> Unpin for MultiArrayView<'a, Ts>

impl<'a, Ts> UnwindSafe for MultiArrayView<'a, Ts> where
    <Ts as VariadicIndex>::Index: RefUnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.