Skip to main content

orx_tree/
lib.rs

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
23/// Module defining iterators.
24pub mod iter;
25
26/// Module defining tree traversal iterators.
27pub mod traversal;
28
29/// Module defining memory reclaim policies.
30pub mod memory;
31
32/// Module defining the choice over the pinned storage of the tree.
33pub 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
62// ERRORS
63pub use errors::NodeSwapError;
64pub use orx_selfref_col::NodeIdxError;
65
66// RE-IMPORT
67pub use orx_iterable::{Collection, CollectionMut};
68
69#[cfg(feature = "parallel")]
70pub use orx_parallel::*;