Trait MetaBox

Source
pub trait MetaBox {
    // Required methods
    fn as_erased(&self) -> ErasedInner<'_>;
    fn as_erased_mut(&mut self) -> ErasedInnerMut<'_>;
}
Expand description

A dyn compatible alternative to Any that can contain multiple items.

Required Methods§

Source

fn as_erased(&self) -> ErasedInner<'_>

Source

fn as_erased_mut(&mut self) -> ErasedInnerMut<'_>

Implementations§

Source§

impl dyn MetaBox + '_

Source

pub fn get<T: 'static>(&self) -> Option<&T>

Obtain an item if it exists in the MetaBox.

Always returns Some for ().

Source

pub fn get_mut<T: 'static>(&mut self) -> Option<&mut T>

Obtain an item if it exists in the MetaBox.

Always returns Some for ().

Implementations on Foreign Types§

Source§

impl MetaBox for ()

Source§

fn as_erased<'t>(&self) -> ErasedInner<'_>

Source§

fn as_erased_mut(&mut self) -> ErasedInnerMut<'_>

Source§

impl<T: 'static> MetaBox for Option<T>

Source§

fn as_erased<'t>(&self) -> ErasedInner<'_>

Source§

fn as_erased_mut(&mut self) -> ErasedInnerMut<'_>

Source§

impl<T: MetaBox> MetaBox for &T

Source§

fn as_erased<'t>(&self) -> ErasedInner<'_>

Source§

fn as_erased_mut(&mut self) -> ErasedInnerMut<'_>

Source§

impl<T: MetaBox> MetaBox for &mut T

Source§

fn as_erased<'t>(&self) -> ErasedInner<'_>

Source§

fn as_erased_mut(&mut self) -> ErasedInnerMut<'_>

Implementors§

Source§

impl<A: MetaTuple, B: MetaTuple> MetaBox for Join<A, B>

Source§

impl<T: 'static> MetaBox for MetaItem<T>