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(),
}
}
}