Trait TwoBufferProvider

Source
pub trait TwoBufferProvider<T: ?Sized> {
    type ControlWrapper: Borrow<T>;

    // Required methods
    fn as_wrapper(&self) -> &Self::ControlWrapper;
    fn from_wrapper_boxed(r: &Self::ControlWrapper) -> Box<Self>;
    fn from_boxed(value: Box<T>) -> Box<Self>;

    // Provided methods
    fn from_wrapper(r: &Self::ControlWrapper) -> Self
       where Self: Sized { ... }
    fn inner(&self) -> &T { ... }
    fn from_value(value: T) -> Self
       where T: Sized,
             Self: Sized { ... }
}

Required Associated Types§

Required Methods§

Source

fn as_wrapper(&self) -> &Self::ControlWrapper

Source

fn from_wrapper_boxed(r: &Self::ControlWrapper) -> Box<Self>

Source

fn from_boxed(value: Box<T>) -> Box<Self>

Provided Methods§

Source

fn from_wrapper(r: &Self::ControlWrapper) -> Self
where Self: Sized,

Source

fn inner(&self) -> &T

Source

fn from_value(value: T) -> Self
where T: Sized, Self: Sized,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§