DynFields

Trait DynFields 

Source
pub trait DynFields: Any {
    // Required methods
    fn field<'a>(
        &'a self,
        field: Option<&'static str>,
    ) -> Option<&'a (dyn Any + 'static)>;
    fn field_mut<'a>(
        &'a mut self,
        field: Option<&'static str>,
    ) -> Option<&'a mut (dyn Any + 'static)>;
    fn take_field(
        &mut self,
        field: Option<&'static str>,
    ) -> Option<Box<dyn Any>>;
    fn replace(&mut self, other: Box<dyn Any>) -> Box<dyn DynFields>;
    fn clear(&mut self);
}
Expand description

Trait to abstract over accessing and taking outputs from nodes

Required Methods§

Source

fn field<'a>( &'a self, field: Option<&'static str>, ) -> Option<&'a (dyn Any + 'static)>

Source

fn field_mut<'a>( &'a mut self, field: Option<&'static str>, ) -> Option<&'a mut (dyn Any + 'static)>

Source

fn take_field(&mut self, field: Option<&'static str>) -> Option<Box<dyn Any>>

Source

fn replace(&mut self, other: Box<dyn Any>) -> Box<dyn DynFields>

Source

fn clear(&mut self)

Set all fields to None

Implementations on Foreign Types§

Source§

impl DynFields for ()

Source§

fn field<'a>( &'a self, _: Option<&'static str>, ) -> Option<&'a (dyn Any + 'static)>

Source§

fn field_mut<'a>( &'a mut self, _: Option<&'static str>, ) -> Option<&'a mut (dyn Any + 'static)>

Source§

fn take_field(&mut self, _: Option<&'static str>) -> Option<Box<dyn Any>>

Source§

fn replace(&mut self, _: Box<dyn Any>) -> Box<dyn DynFields>

Source§

fn clear(&mut self)

Implementors§