orx_tree/
lib.rs

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#![doc = include_str!("../README.md")]
#![warn(
    missing_docs,
    clippy::unwrap_in_result,
    clippy::unwrap_used,
    clippy::panic,
    clippy::panic_in_result_fn,
    clippy::float_cmp,
    clippy::float_cmp_const,
    clippy::missing_panics_doc,
    clippy::todo
)]
#![no_std]

#[cfg(any(test, feature = "std"))]
extern crate std;

extern crate alloc;

/// Module defining iterators.
pub mod iter;

/// Module defining tree traversal iterators.
pub mod traversal;

/// Module defining memory reclaim policies.
pub mod memory;

/// Module defining the choice over the pinned storage of the tree.
pub mod pinned_storage;

mod aliases;
mod common_traits;
mod dary;
mod r#dyn;
mod errors;
mod node;
mod node_mut;
mod node_ref;
mod subtrees;
mod subtrees_within;
mod tree;
mod tree_node_idx;
mod tree_variant;

pub use common_traits::{DepthFirstSequence, DepthFirstSequenceError};
pub use dary::{Binary, BinaryNode, BinaryTree, Dary, DaryNode, DaryTree};
pub use memory::{Auto, AutoWithThreshold, Lazy, MemoryPolicy};
pub use node::Node;
pub use node_mut::{NodeMut, NodeMutDown, NodeMutOrientation, NodeMutUpAndDown, Side};
pub use node_ref::NodeRef;
pub use r#dyn::{Dyn, DynNode, DynTree};
pub use subtrees::SubTree;
pub use traversal::{Bfs, Dfs, PostOrder, Traversal, Traverser};
pub use tree::Tree;
pub use tree_node_idx::NodeIdx;
pub use tree_variant::TreeVariant;

// ERRORS
pub use errors::NodeSwapError;
pub use orx_selfref_col::NodeIdxError;

// RE-IMPORT
pub use orx_iterable::{Collection, CollectionMut};