Modules

Structs

Content index - which just indexes based on the resulting size. Deletes are not counted.

A ContentTree is an efficient packed list of RLE entries, allowing for arbitrary inserts and deletes anywhere in the range.

Index based on both resulting size and raw insert position.

Index based on both resulting size and raw insert position.

A leaf node in the B-tree. Except the root, each child stores MAX_CHILDREN/2 - MAX_CHILDREN entries.

Index based on the raw size of an element.

Index based on the raw size of an element.

A splitablespan in reverse. This is useful for making lists in descending order.

A splitablespan which contains a single element repeated N times. This is used in some examples.

A SplitableSpan wrapper for any single item.

A cursor into some location in a range tree.

Constants

Traits

Simple empty helper trait naming all the properties needed by ContentTree.

An entry is expected to contain multiple items.

This trait marks items as being able to toggle on and off. The motivation for this is CRDT items which want to stay in a list even after they’ve been deleted.

The index describes which fields we’re tracking, and can query. Indexes let us convert cursors to positions and vice versa.

Functions

Helper when a notify function is not needed

Type Definitions

An alias for ContentTreeRaw which uses the default sizes for internal elements.

A cursor into an immutable ContentTree. A cursor is the primary way to read entries in the content tree. A cursor points to a specific offset at a specific entry in a specific node in the content tree.

A mutable cursor into a ContentTree. Mutable cursors inherit all the functionality of Cursor, and can also be used to modify the content tree.