flange_flat_tree/tree/subtree/mod.rs
1pub mod subtree_impl;
2
3pub trait Subtree: Sized {
4 type Node;
5
6 fn get_pos(&self) -> usize;
7 fn value(&self) -> Self::Node;
8 fn parent(&self) -> Option<Self>;
9 fn children(&self) -> Vec<Self>;
10 fn child_values(&self) -> Vec<Self::Node>;
11 fn first_child(&self) -> Option<Self>;
12 fn prev_sibling(&self) -> Option<Self>;
13 fn next_sibling(&self) -> Option<Self>;
14}