radiate_gp/collections/
node.rs

1use crate::Arity;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
4pub enum NodeType {
5    Input,
6    Output,
7    Vertex,
8    Edge,
9    Leaf,
10    Root,
11}
12
13pub trait Node {
14    type Value;
15
16    fn value(&self) -> &Self::Value;
17    fn node_type(&self) -> NodeType;
18    fn arity(&self) -> Arity;
19}