nb-tree 0.2.0-alpha01

Very simple tree structure with generic node and branch data.
Documentation
use std::collections::HashMap;

#[derive(Clone, Debug)]
pub(crate) struct TreeNode<N, B> {
    pub(crate) value: N,
    pub(crate) children: HashMap<B, usize>,
}

impl<N, B> Default for TreeNode<N, B>
where
    N: Default,
{
    fn default() -> Self {
        Self {
            value: N::default(),
            children: HashMap::new(),
        }
    }
}

impl<N, B> From<N> for TreeNode<N, B> {
    fn from(value: N) -> Self {
        TreeNode {
            value,
            children: Default::default(),
        }
    }
}