Crate content_tree

Source

Modules§

testrange

Structs§

ContentMetrics
Content index - which just indexes based on the resulting size. Deletes are not counted.
ContentTreeRaw
A ContentTree is an efficient packed list of RLE entries, allowing for arbitrary inserts and deletes anywhere in the range.
FullMetricsU32
Index based on both resulting size and raw insert position.
FullMetricsUsize
Index based on both resulting size and raw insert position.
NodeLeaf
A leaf node in the B-tree. Except the root, each child stores MAX_CHILDREN/2 - MAX_CHILDREN entries.
Pair
RawPositionMetricsU32
Index based on the raw size of an element.
RawPositionMetricsUsize
Index based on the raw size of an element.
ReverseSpan
A splitablespan in reverse. This is useful for making lists in descending order.
RleRun
A splitablespan which contains a single element repeated N times. This is used in some examples.
SafeCursor
Single
A SplitableSpan wrapper for any single item.
UnsafeCursor
A cursor into some location in a range tree.

Constants§

DEFAULT_IE
DEFAULT_LE

Traits§

ContentLength
ContentTraits
Simple empty helper trait naming all the properties needed by ContentTree.
Cursors
FindContent
FindOffset
SplitAndJoinSpan
An entry is expected to contain multiple items.
Toggleable
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.
TreeMetrics
The index describes which fields we’re tracking, and can query. Indexes let us convert cursors to positions and vice versa.

Functions§

null_notify
Helper when a notify function is not needed

Type Aliases§

ContentTree
ContentTreeWithIndexDeprecated
An alias for ContentTreeRaw which uses the default sizes for internal elements.
Cursor
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.
DeleteResult
MutCursor
A mutable cursor into a ContentTree. Mutable cursors inherit all the functionality of Cursor, and can also be used to modify the content tree.