1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//! Parsers for different types of rules.mod hex;

mod hex;
mod life;
mod neumann;
mod nthex;
mod ntlife;
mod ntneumann;

pub use hex::{ParseHex, ParseHexGen};
pub use life::{ParseLife, ParseLifeGen};
pub use neumann::{ParseNeumann, ParseNeumannGen};
pub use nthex::{ParseNtHex, ParseNtHexGen};
pub use ntlife::{ParseNtLife, ParseNtLifeGen};
pub use ntneumann::{ParseNtNeumann, ParseNtNeumannGen};

/// A helper struct to represent Generations rules.
#[derive(Clone, Debug, Eq, PartialEq)]
struct Gen<T> {
    rule: T,
    gen: usize,
}