Crate microkelvin[][src]

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

AnnoIter

An iterator over the sub-annotations of a Compound collection

Branch

Reprents an immutable branch view into a collection.

BranchMut

Reprents a branch view into a collection.

Cardinality

The cardinality of a compound collection

GenericAnnotation

A generic annotation

GenericLeaf

A generic leaf

GenericTree

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

Link

TODO

LinkAnnotation

A wrapped borrow of an inner link guaranteed to contain a computed annotation

LinkCompound

A wrapped borrow of an inner node guaranteed to contain a compound node

LinkCompoundMut

A wrapped mutable borrow of an inner node guaranteed to contain a compound node

Walk

The argument given to a Walker to traverse through nodes.

Enums

Child

The response of the child method on a Compound node.

ChildMut

The response of the child_mut method on a Compound node.

GenericChild

A generic child of a collection

MaxKey

The maximum value of a collection

Step

The return value from a closure to walk the tree.

Traits

Annotation

The trait defining an annotation type over a leaf

Combine

Trait for defining how to combine Annotations

Compound

A type that can recursively contain itself and leaves.

First

Trait that provides a first and first_mut method to any Compound with a Cardinality annotation

GetMaxKey

Trait that provides a max_leaf() method to any Compound with a MaxKey annotation

Keyed

Trait for getting the key from a Leaf value

MutableLeaves

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

Nth

Trait that provides nth() and nth_mut() methods to any Compound with a Cardinality annotation

Walker

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