Trait AnyView

Source
pub trait AnyView:
    Sync
    + Send
    + 'static {
    // Required methods
    fn nodes(
        &self,
        world: &World,
        state: &Box<dyn Any + Send + Sync>,
        out: &mut Vec<Entity>,
    );
    fn build(&self, cx: &mut Cx<'_, '_>) -> Box<dyn Any + Send + Sync>;
    fn rebuild(
        &self,
        cx: &mut Cx<'_, '_>,
        state: &mut Box<dyn Any + Send + Sync>,
    ) -> bool;
    fn attach_children(
        &self,
        world: &mut World,
        state: &mut Box<dyn Any + Send + Sync>,
    ) -> bool;
    fn raze(
        &self,
        world: &mut DeferredWorld<'_>,
        state: &mut Box<dyn Any + Send + Sync>,
    );
    fn view_type_id(&self) -> TypeId;
}
Expand description

A type-erased [ViewTuple].

Required Methods§

Source

fn nodes( &self, world: &World, state: &Box<dyn Any + Send + Sync>, out: &mut Vec<Entity>, )

Source

fn build(&self, cx: &mut Cx<'_, '_>) -> Box<dyn Any + Send + Sync>

Source

fn rebuild( &self, cx: &mut Cx<'_, '_>, state: &mut Box<dyn Any + Send + Sync>, ) -> bool

Source

fn attach_children( &self, world: &mut World, state: &mut Box<dyn Any + Send + Sync>, ) -> bool

Source

fn raze( &self, world: &mut DeferredWorld<'_>, state: &mut Box<dyn Any + Send + Sync>, )

Source

fn view_type_id(&self) -> TypeId

Implementors§

Source§

impl<V> AnyView for V
where V: View,