MastNodeExt

Trait MastNodeExt 

Source
pub trait MastNodeExt {
    // Required methods
    fn digest(&self) -> Word;
    fn before_enter(&self) -> &[DecoratorId];
    fn after_exit(&self) -> &[DecoratorId];
    fn append_before_enter(&mut self, decorator_ids: &[DecoratorId]);
    fn append_after_exit(&mut self, decorator_ids: &[DecoratorId]);
    fn remove_decorators(&mut self);
    fn to_display<'a>(
        &'a self,
        mast_forest: &'a MastForest,
    ) -> Box<dyn Display + 'a>;
    fn to_pretty_print<'a>(
        &'a self,
        mast_forest: &'a MastForest,
    ) -> Box<dyn PrettyPrint + 'a>;
    fn remap_children(
        &self,
        remapping: &BTreeMap<MastNodeId, MastNodeId>,
    ) -> Self;
    fn has_children(&self) -> bool;
    fn append_children_to(&self, target: &mut Vec<MastNodeId>);
    fn domain(&self) -> BaseElement;
}

Required Methods§

Source

fn digest(&self) -> Word

Returns a commitment/hash of the node.

Source

fn before_enter(&self) -> &[DecoratorId]

Returns the decorators to be executed before this node is executed.

Source

fn after_exit(&self) -> &[DecoratorId]

Returns the decorators to be executed after this node is executed.

Source

fn append_before_enter(&mut self, decorator_ids: &[DecoratorId])

Sets the list of decorators to be executed before this node.

Source

fn append_after_exit(&mut self, decorator_ids: &[DecoratorId])

Sets the list of decorators to be executed after this node.

Source

fn remove_decorators(&mut self)

Removes all decorators from this node.

Source

fn to_display<'a>( &'a self, mast_forest: &'a MastForest, ) -> Box<dyn Display + 'a>

Returns a display formatter for this node.

Source

fn to_pretty_print<'a>( &'a self, mast_forest: &'a MastForest, ) -> Box<dyn PrettyPrint + 'a>

Returns a pretty printer for this node.

Source

fn remap_children(&self, remapping: &BTreeMap<MastNodeId, MastNodeId>) -> Self

Remap the node children to their new positions indicated by the given Remapping.

Source

fn has_children(&self) -> bool

Returns true if the this node has children.

Source

fn append_children_to(&self, target: &mut Vec<MastNodeId>)

Appends the NodeIds of the children of this node, if any, to the vector.

Source

fn domain(&self) -> BaseElement

Returns the domain of this node.

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§