Trait clvm_traits::ClvmDecoder

source ·
pub trait ClvmDecoder {
    type Node: Clone;

    // Required methods
    fn decode_atom(&self, node: &Self::Node) -> Result<Atom<'_>, FromClvmError>;
    fn decode_pair(
        &self,
        node: &Self::Node
    ) -> Result<(Self::Node, Self::Node), FromClvmError>;

    // Provided method
    fn clone_node(&self, node: &Self::Node) -> Self::Node { ... }
}

Required Associated Types§

Required Methods§

source

fn decode_atom(&self, node: &Self::Node) -> Result<Atom<'_>, FromClvmError>

source

fn decode_pair( &self, node: &Self::Node ) -> Result<(Self::Node, Self::Node), FromClvmError>

Provided Methods§

source

fn clone_node(&self, node: &Self::Node) -> Self::Node

This is a helper function that just calls clone on the node. It’s required only because the compiler can’t infer that N is Clone, since there’s no Clone bound on the FromClvm trait.

Implementations on Foreign Types§

source§

impl ClvmDecoder for Allocator

§

type Node = NodePtr

source§

fn decode_atom(&self, node: &Self::Node) -> Result<Atom<'_>, FromClvmError>

source§

fn decode_pair( &self, node: &Self::Node ) -> Result<(Self::Node, Self::Node), FromClvmError>

Implementors§