1#![doc = include_str!("../README.md")]
2#![warn(
3 missing_docs,
4 clippy::unwrap_in_result,
5 clippy::unwrap_used,
6 clippy::panic,
7 clippy::panic_in_result_fn,
8 clippy::float_cmp,
9 clippy::float_cmp_const,
10 clippy::missing_panics_doc,
11 clippy::todo
12)]
13#![no_std]
14
15#[cfg(test)]
16extern crate std;
17
18extern crate alloc;
19
20#[cfg(test)]
21mod tests;
22
23pub mod iter;
25
26pub mod traversal;
28
29pub mod memory;
31
32pub mod pinned_storage;
34
35mod aliases;
36mod common_traits;
37mod dary;
38mod r#dyn;
39mod errors;
40mod node;
41mod node_mut;
42mod node_ref;
43mod subtrees;
44mod subtrees_within;
45mod tree;
46mod tree_node_idx;
47mod tree_variant;
48
49pub use common_traits::{DepthFirstSequence, DepthFirstSequenceError};
50pub use dary::{Binary, BinaryNode, BinaryTree, Dary, DaryNode, DaryTree};
51pub use r#dyn::{Dyn, DynNode, DynTree};
52pub use memory::{Auto, AutoWithThreshold, Lazy, MemoryPolicy};
53pub use node::Node;
54pub use node_mut::{NodeMut, NodeMutDown, NodeMutOrientation, NodeMutUpAndDown, Side};
55pub use node_ref::NodeRef;
56pub use subtrees::SubTree;
57pub use traversal::{Bfs, Dfs, PostOrder, Traversal, Traverser};
58pub use tree::Tree;
59pub use tree_node_idx::NodeIdx;
60pub use tree_variant::TreeVariant;
61
62pub use errors::NodeSwapError;
64pub use orx_selfref_col::NodeIdxError;
65
66pub use orx_iterable::{Collection, CollectionMut};
68
69#[cfg(feature = "parallel")]
70pub use orx_parallel::*;