Expand description

Microkelvin

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 Branch and BranchMut, types for representing branches in tree-formed data as well as methods of search.

Structs

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.

Enums

The response of the child method on a Compound node.

The response of the child_mut method on a Compound node.

A generic child of a collection

The maximum value of a collection

The return value from a closure to walk the tree.

Traits

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 and first_mut method to any Compound with a Cardinality annotation

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() and nth_mut() methods to any Compound with a Cardinality annotation

The trait used to construct a Branch or to iterate through a tree.