A library for dealing with tree-shaped Canonical data. It has three parts:
Compound, a trait for a generic way to implement tree structures
Annotation, a trait for annotated subtrees used for searching
BranchMut, types for representing branches in tree-formed
data as well as methods of search.
An iterator over the sub-annotations of a Compound collection
Reprents an immutable branch view into a collection.
Reprents a branch view into a collection.
The cardinality of a compound collection
A generic annotation
A generic leaf
The generic tree structure, this is a generic version of any Compound tree, which has had it’s leaves and annotations replaced with generic variants of prefixed lengths, so that the tree structure can still be followed even if you don’t know the concrete associated and generic types of the Compound structure that was persisted
The Link struct is an annotated merkle link to a compound type
A wrapped borrow of an inner link guaranteed to contain a computed annotation
A wrapped borrow of an inner node guaranteed to contain a compound node
A wrapped mutable borrow of an inner node guaranteed to contain a compound node
The argument given to a
Walker to traverse through nodes.
The response of the
child method on a
The response of the
child_mut method on a
A generic child of a collection
The maximum value of a collection
The return value from a closure to
walk the tree.
The trait defining an annotation type over a leaf
Trait for defining how to combine Annotations
A type that can recursively contain itself and leaves.
Trait that provides a
first_mut method to any Compound with a
Trait that provides a max_leaf() method to any Compound with a MaxKey annotation
Trait for getting the key from a Leaf value
Marker trait to signal that a datastructre can allow mutable access to its leaves.
Trait that provides
nth_mut() methods to any Compound with a
The trait used to construct a
Branch or to iterate through a tree.