Trait referent::Referent [] [src]

pub trait Referent {
    type Data;
    type Meta: Copy;
    unsafe fn assemble(data: *const Self::Data, meta: Self::Meta) -> *const Self;
    fn disassemble(fatp: *const Self) -> (*const Self::Data, Self::Meta);

    unsafe fn assemble_mut(data: *mut Self::Data, meta: Self::Meta) -> *mut Self { ... }
    fn disassemble_mut(fatp: *mut Self) -> (*mut Self::Data, Self::Meta) { ... }
    fn size_of_val(meta: Self::Meta) -> usize { ... }
    fn align_of_val(meta: Self::Meta) -> usize { ... }
}

A trait that is implemented for all types except trait objects, for which it can be derived with the derive_referent! macro on nightly. Provides functions to split apart/reconstruct a fat pointer into/from its components.

Associated Types

Required Methods

Make a reference from its constituent parts.

Break a reference down into its constituent parts.

Provided Methods

Implementors