generalized_suffix_tree/
utils.rs1use serde::{Serialize, Deserialize};
2use std::hash::Hash;
3use std::fmt::{Display, Debug};
4use std::collections::HashMap;
5
6#[derive(Debug, Serialize, Deserialize)]
7pub struct Enode<T, U>
8where
9 T: Display + Debug + Eq + PartialEq + Hash + Clone,
10 U: Display + Debug + Eq + PartialEq + Hash + Clone,
11{
12 children: HashMap<T, usize>,
13 data: Vec<U>,
14 node_id: usize,
15 slink: Option<usize>
16}
17
18impl<T, U> Enode<T, U>
19where
20 T: Display + Debug + Eq + PartialEq + Hash + Clone + Serialize,
21 U: Display + Debug + Eq + PartialEq + Hash + Clone + Serialize,
22{
23 pub fn new(children: HashMap<T, usize>,
24 data: Vec<U>,
25 slink: Option<usize>,
26 node_id: usize) -> Enode<T, U>{
27 Enode{
28 children,
29 data,
30 node_id,
31 slink
32 }
33 }
34}