Trait extendr_api::prelude::RawDataSubst

source ·
pub trait RawDataSubst<A>: RawData {
    type Output: RawData<Elem = A>;

    // Required method
    unsafe fn data_subst(self) -> Self::Output;
}
Expand description

Array representation trait.

The RawDataSubst trait maps the element type of array storage, while keeping the same kind of storage.

For example, RawDataSubst<B> can map the type OwnedRepr<A> to OwnedRepr<B>.

Required Associated Types§

source

type Output: RawData<Elem = A>

The resulting array storage of the same kind but substituted element type

Required Methods§

source

unsafe fn data_subst(self) -> Self::Output

Unsafely translate the data representation from one element representation to another.

§Safety

Caller must ensure the two types have the same representation.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, A, B> RawDataSubst<B> for CowRepr<'a, A>
where A: 'a, B: 'a,

§

type Output = CowRepr<'a, B>

source§

impl<'a, A, B> RawDataSubst<B> for ViewRepr<&'a A>
where A: 'a, B: 'a,

source§

impl<'a, A, B> RawDataSubst<B> for ViewRepr<&'a mut A>
where A: 'a, B: 'a,

source§

impl<A, B> RawDataSubst<B> for OwnedArcRepr<A>

source§

impl<A, B> RawDataSubst<B> for OwnedRepr<A>

source§

impl<A, B> RawDataSubst<B> for RawViewRepr<*const A>

source§

impl<A, B> RawDataSubst<B> for RawViewRepr<*mut A>