[][src]Struct heaparray::impls::SafeArray

#[repr(transparent)]
pub struct SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
{ /* fields omitted */ }

Safe, generic interface to BaseArray.

Uses length information to guarrantee memory safety, and excludes operations that cannot be performed safely from its API.

Trait Implementations

impl<E, L, P> LabelledArray<E, L> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

impl<E, L, P> LabelledArrayMut<E, L> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

impl<E, L, P> DefaultLabelledArray<E, L> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>,
    E: Default
[src]

impl<E, P> MakeArray<E> for SafeArray<E, (), P> where
    P: SafeArrayPtr<E, ()>, 
[src]

impl<E, L, P> SliceArray<E> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

impl<E, L, P> SliceArrayMut<E> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

impl<E, L, P> Send for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>,
    E: Send,
    L: Send
[src]

impl<E, L, P> Drop for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

impl<E, L, P> IntoIterator for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

type Item = E

The type of the elements being iterated over.

type IntoIter = BaseArrayIter<E, L, P>

Which kind of iterator are we turning this into?

impl<'a, E, L, P> IntoIterator for &'a SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

type Item = &'a E

The type of the elements being iterated over.

type IntoIter = Iter<'a, E>

Which kind of iterator are we turning this into?

impl<'a, E, L, P> IntoIterator for &'a mut SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

type Item = &'a mut E

The type of the elements being iterated over.

type IntoIter = IterMut<'a, E>

Which kind of iterator are we turning this into?

impl<E, L, P> Sync for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>,
    E: Sync,
    L: Sync
[src]

impl<E, L, P> Clone for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>,
    E: Clone,
    L: Clone
[src]

impl<E, L, P> Index<usize> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

type Output = E

The returned type after indexing.

impl<E, L, P> IndexMut<usize> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

impl<E, L, P> Debug for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>,
    E: Debug,
    L: Debug
[src]

impl<E, L, P> Container for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

impl<E, L, P> CopyMap<usize, E> for SafeArray<E, L, P> where
    P: SafeArrayPtr<E, L>, 
[src]

Auto Trait Implementations

impl<E, L, P> Unpin for SafeArray<E, L, P> where
    E: Unpin,
    L: Unpin,
    P: Unpin

impl<E, L, P> UnwindSafe for SafeArray<E, L, P> where
    E: UnwindSafe,
    L: UnwindSafe,
    P: UnwindSafe

impl<E, L, P> RefUnwindSafe for SafeArray<E, L, P> where
    E: RefUnwindSafe,
    L: RefUnwindSafe,
    P: RefUnwindSafe

Blanket Implementations

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> From<T> for T[src]

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

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.

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

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

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