MastNodeExt

Trait MastNodeExt 

Source
pub trait MastNodeExt {
    type Builder: MastForestContributor;

    // Required methods
    fn digest(&self) -> Word;
    fn before_enter<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId];
    fn after_exit<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId];
    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 has_children(&self) -> bool;
    fn append_children_to(&self, target: &mut Vec<MastNodeId>);
    fn for_each_child<F>(&self, f: F)
       where F: FnMut(MastNodeId);
    fn domain(&self) -> BaseElement;
    fn verify_node_in_forest(&self, forest: &MastForest);
    fn to_builder(self, forest: &MastForest) -> Self::Builder;
}

Required Associated Types§

Source

type Builder: MastForestContributor

Converts this node into its corresponding builder, reusing allocated data where possible.

Required Methods§

Source

fn digest(&self) -> Word

Returns a commitment/hash of the node.

Source

fn before_enter<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId]

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

Source

fn after_exit<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId]

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

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 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 for_each_child<F>(&self, f: F)
where F: FnMut(MastNodeId),

Executes the given closure for each child of this node.

Source

fn domain(&self) -> BaseElement

Returns the domain of this node.

Source

fn verify_node_in_forest(&self, forest: &MastForest)

Verifies that this node is stored at the ID in its decorators field in the forest.

Source

fn to_builder(self, forest: &MastForest) -> Self::Builder

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§