1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Persistent and functional data structures.
//!
//! This module provides immutable, persistent data structures that use structural
//! sharing (via `Arc`) to make "updates" efficient — each operation returns a new
//! version while reusing unchanged subtrees from the old version.
//!
//! # Structures
//!
//! - [`PersistentVec`](persistent_vec::PersistentVec) — 32-ary trie vector (Clojure-style).
//! - [`PersistentMap`](persistent_map::PersistentMap) — Hash Array Mapped Trie (HAMT).
//! - [`PersistentRBTree`](persistent_rbtree::PersistentRBTree) — Okasaki-style persistent red-black tree map.
//! - [`PersistentHashMap`](persistent_hamt::PersistentHashMap) — Full-featured HAMT with Bitmap/Full/Collision nodes.
//! - [`PersistentQueue`](persistent_queue::PersistentQueue) — Functional queue with amortized O(1) push/pop.
//! - [`SegmentTree`](segment_tree::SegmentTree) — range query / point update.
//! - [`LazySegmentTree`](segment_tree::LazySegmentTree) — range query / range update with lazy propagation.
//! - [`PersistentSegmentTree`](segment_tree::PersistentSegmentTree) — versioned segment tree.
//! - [`FenwickTree`](fenwick_tree::FenwickTree) — Binary Indexed Tree for prefix sums.
//! - [`FenwickTree2D`](fenwick_tree::FenwickTree2D) — 2-D BIT.
//! - [`OrderStatisticsTree`](fenwick_tree::OrderStatisticsTree) — rank / select via BIT.
//! - [`FingerTree`](finger_tree::FingerTree) — functional deque with O(log N) split/concat.
pub use ;
pub use FingerTree;
pub use PersistentHashMap;
pub use PersistentMap;
pub use PersistentQueue;
pub use PersistentRBTree;
pub use PersistentVec;
pub use ;