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}