pub struct PurrMultiThreadRunner<T: PurrShape> {
pub shape_number: u32,
pub thread_number: u32,
pub states: Vec<PurrState<T>>,
pub rxs: Vec<Receiver<PurrState<T>>>,
pub txs: Vec<Sender<PurrWorkerCmd>>,
pub on_step: Option<Box<dyn FnMut(PurrState<T>) + Sync + Send>>,
}
Fields§
§shape_number: u32
§thread_number: u32
§states: Vec<PurrState<T>>
§rxs: Vec<Receiver<PurrState<T>>>
§txs: Vec<Sender<PurrWorkerCmd>>
§on_step: Option<Box<dyn FnMut(PurrState<T>) + Sync + Send>>
Implementations§
Trait Implementations§
Source§impl<T: PurrShape> Default for PurrMultiThreadRunner<T>
impl<T: PurrShape> Default for PurrMultiThreadRunner<T>
Source§impl<T: 'static + PurrShape> PurrModelRunner for PurrMultiThreadRunner<T>
impl<T: 'static + PurrShape> PurrModelRunner for PurrMultiThreadRunner<T>
type M = PurrHillClimbModel
fn init(&mut self, model: &mut Self::M)
fn step(&mut self, model: &mut Self::M)
fn stop(&mut self)
fn run(&mut self, model: &mut Self::M)
fn get_svg(&self, context: &PurrContext, idx: usize) -> String
fn get_last_shape(&self) -> String
fn save(&self, context: &PurrContext, output: &str)
Auto Trait Implementations§
impl<T> Freeze for PurrMultiThreadRunner<T>
impl<T> !RefUnwindSafe for PurrMultiThreadRunner<T>
impl<T> Send for PurrMultiThreadRunner<T>
impl<T> Sync for PurrMultiThreadRunner<T>where
T: Sync,
impl<T> Unpin for PurrMultiThreadRunner<T>where
T: Unpin,
impl<T> !UnwindSafe for PurrMultiThreadRunner<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more