pub trait UserDataTrans<T: UserData>: Sized {
    type Read<'a>: Deref<Target = T>
       where T: 'a,
             Self: 'a;
    type Write<'a>
       where T: 'a;

    const INIT_USERDATA: Option<fn(_: &State, _: &mut Self)> = None;

    // Required methods
    fn trans(udata: T) -> Self;
    fn read(&self) -> Self::Read<'_>;
}

Required Associated Types§

source

type Read<'a>: Deref<Target = T> where T: 'a, Self: 'a

source

type Write<'a> where T: 'a

Provided Associated Constants§

source

const INIT_USERDATA: Option<fn(_: &State, _: &mut Self)> = None

Required Methods§

source

fn trans(udata: T) -> Self

source

fn read(&self) -> Self::Read<'_>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: UserData> UserDataTrans<T> for RefCell<T>

§

type Read<'a> = Ref<'a, T> where T: 'a

§

type Write<'a> = RefMut<'a, T> where T: 'a

source§

fn trans(udata: T) -> Self

source§

fn read(&self) -> Self::Read<'_>

Implementors§

source§

impl<T: UserData> UserDataTrans<T> for MaybePointer<T>

§

type Read<'a> = MaybePtrRef<'a, T> where T: 'a

§

type Write<'a> = () where T: 'a

source§

impl<T: UserData> UserDataTrans<T> for T

§

type Read<'a> = &'a T where T: 'a

§

type Write<'a> = &'a mut T where T: 'a