[−][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. |