Crate microkelvin[][src]

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

Annotated

A wrapper type that keeps the annotation of the Compound referenced cached

Branch

Reprents an immutable branch view into a collection.

BranchMut

Reprents a branch view into a collection.

Cardinality

The cardinality of a compound collection

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.

IterChild

The kinds of children you can encounter iterating over a Compound

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.