gol_core/board/
board_state.rs

1use crate::IndexedDataOwned;
2use rayon::iter::ParallelIterator;
3
4pub trait BoardStateManager<T, CI, I>: Send + Sync
5where
6    T: Send + Sync,
7    CI: Send + Sync,
8    I: ParallelIterator<Item = IndexedDataOwned<CI, T>>,
9{
10    fn get_cell_state(&self, idx: &CI) -> T;
11    fn update_cell_states_from_par_iter(&mut self, new_states: I);
12}