newick_rs/tree.rs
1pub trait FromNewick: Sized {
2 fn leaf(name: String) -> Self;
3 fn internal(name: String, children: Vec<Self>) -> Self;
4
5 fn update_length(self, length: Option<f64>) -> Self;
6}
7
8pub trait ToNewick {
9 type Child: ToNewick;
10
11 fn get_name(&self) -> String;
12 fn get_children<'a>(&'a self) -> Vec<&'a Self::Child>;
13 fn get_length(&self) -> Option<f64>;
14}