[][src]Crate ppar

Package implement persistent array using a variant of rope data structure.

Fundamentally, it can be viewed as a binary-tree of array-blocks, where each leaf-node is a block of contiguous item of type T, while intermediate nodes only hold references to the child nodes, left and right. To be more precise, intermediate nodes in the tree are organised similar to rope structure, as a tuple of (weight, left, right) where weight is the sum of all items present in the leaf-nodes under the left-branch.

Thread Safety

By default Vector<T> is thread safe through Arc. To get better performance over thread-safety, compile with ppar-rc feature, which uses Rc instead of Arc, that is, with Rc Send and Sync traits are not available for Vector<T>.

Alternate libraries:

Macros

err_at

Short form to compose Error values.

Structs

Vector

Persistent array, that can also be used as mutable vector.

Enums

Error

Error variants that can be returned by this package's API.

Type Definitions

Result

Type alias for Result return type, used by this package.