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
//! # Node & Branch Tree
//! This library provides tools to represent tree data with data associated to nodes and branches.
//! The trees are stored in a simple dynamic array (Vec) data structure.
//!
//! The main data structures are [`Tree`] and [`Path`] to build data trees and path to tree nodes.
//! The goal of this crate is to provide simple yet flexible structures that allow for custom node and branch types, tree building, diffing and patching.
//!
//! For more information about Trees and their usage,
//! see the [module level documentation](crate::tree).
//!
//! # What it is
//! A data structure to store and manipulate tree like data.
//!
//! # Properties
//!
//! The structure is an arborescence: it is directed, with nodes linking to their children.
//!
//! [`Tree`]: crate::tree::Tree
//! [`Path`]: crate::path::Path
// TODO
// //! The need for such types for the [retracer](https://crates.io/crates/retracer/) library was the initial motivation to create this library.
/// Macros to build trees and paths
/// Structures to describe a position in a [`Tree`].
///
/// [`Tree`]: crate::tree::Tree
/// Structures to build and manipulate [`Tree`]s.
///
/// [`Tree`]: crate::tree::Tree
/// The [`nb_tree`] Prelude.
///
/// [`nb_tree`]: crate