AnyModifierElement

Trait AnyModifierElement 

Source
pub trait AnyModifierElement: Debug {
    // Required methods
    fn node_type(&self) -> TypeId;
    fn element_type(&self) -> TypeId;
    fn create_node(&self) -> Box<dyn ModifierNode>;
    fn update_node(&self, node: &mut dyn ModifierNode);
    fn key(&self) -> Option<u64>;
    fn hash_code(&self) -> u64;
    fn equals_element(&self, other: &dyn AnyModifierElement) -> bool;
    fn inspector_name(&self) -> &'static str;
    fn record_inspector_properties(
        &self,
        visitor: &mut dyn FnMut(&'static str, String),
    );
    fn requires_update(&self) -> bool;
    fn as_any(&self) -> &dyn Any;

    // Provided method
    fn capabilities(&self) -> NodeCapabilities { ... }
}
Expand description

Type-erased modifier element used by the runtime to reconcile chains.

Required Methods§

Source

fn node_type(&self) -> TypeId

Source

fn element_type(&self) -> TypeId

Source

fn create_node(&self) -> Box<dyn ModifierNode>

Source

fn update_node(&self, node: &mut dyn ModifierNode)

Source

fn key(&self) -> Option<u64>

Source

fn hash_code(&self) -> u64

Source

fn equals_element(&self, other: &dyn AnyModifierElement) -> bool

Source

fn inspector_name(&self) -> &'static str

Source

fn record_inspector_properties( &self, visitor: &mut dyn FnMut(&'static str, String), )

Source

fn requires_update(&self) -> bool

Source

fn as_any(&self) -> &dyn Any

Provided Methods§

Implementors§