Expand description

Microkelvin

A library for dealing with tree-shaped 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

Walker that visits all leaves

The archived version of a link, contains an identifier and an annotation

Reprents an immutable branch view into a collection.

Reprents a branch view into a collection.

The cardinality of a compound collection

Walker to find the maximum key in the collection

Store that utilises a reference-counted PageStorage

An identifier representing a value stored somewhere else

A branch that applies a map to its leaf

A BranchMut with a mapped leaf

Find a specific value in a sorted tree

Walker method to find the nth element of a compound collection

Offset based identifier

A clonable reference to a store

A buffered serializer wrapping a StoreRef

Stored is a reference to a value stored, along with the backing store

Writebuffer guarded by a Token

Enums

A wrapped annotation that is either owning its A or providing an annotated link

The response of the child method on a Compound node.

The response of the child method on a Compound node.

The response of the child_mut method on a Compound node.

Information to select paths in searches

The Link struct is an annotated merkle link to a compound type

The maximum value of a collection

A wrapper around the actual type, or the archived version

Wrapper around a value either in memory or in a store

The return value from a closure to walk the tree.

Marker type to be associated with write permissions to a backend

Traits

The trait defining an annotation type over a leaf

Trait to support branch traversal in archived nodes

A trait for refering to a branch based solely on its leaf type

A trait for refering to a branch based solely on its leaf type

Trait for defining how to combine Annotations

A type that can recursively contain itself and leaves.

Trait for getting the key from a Leaf value

Marker trait to signal that a datastructre can allow mutable access to its leaves.

Marker trait for types that have themselves as archived type

A type that works as a handle to a Storage backend.

Trait that ensures the value has access to a store backend

Unwrap a result known not to have a instantiable error

Wrapper trait provided to Walkers

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