Struct specs::Planner [] [src]

pub struct Planner {
    pub world: Arc<World>,
    // some fields omitted
}

System execution planner. Allows running systems via closures, distributes the load in parallel using a thread pool.

Fields

world: Arc<World>

Shared World.

Methods

impl Planner
[src]

fn new(world: World, num_threads: usize) -> Planner

Create a new planner, given the world and the thread count.

fn run<F>(&mut self, functor: F) where F: 'static + Send + FnOnce(RunArg)

Run a custom system.

fn wait(&mut self)

Wait for all the currently executed systems to finish.

impl Planner
[src]

fn run0w1r<R0: Component, F: 'static + Send + FnMut(&R0)>(&mut self, functor: F)

impl Planner
[src]

fn run0w2r<R0: Component, R1: Component, F: 'static + Send + FnMut(&R0, &R1)>(&mut self, functor: F)

impl Planner
[src]

fn run1w0r<W0: Component, F: 'static + Send + FnMut(&mut W0)>(&mut self, functor: F)

impl Planner
[src]

fn run1w1r<W0: Component, R0: Component, F: 'static + Send + FnMut(&mut W0, &R0)>(&mut self, functor: F)

impl Planner
[src]

fn run1w2r<W0: Component, R0: Component, R1: Component, F: 'static + Send + FnMut(&mut W0, &R0, &R1)>(&mut self, functor: F)

impl Planner
[src]

fn run1w3r<W0: Component, R0: Component, R1: Component, R2: Component, F: 'static + Send + FnMut(&mut W0, &R0, &R1, &R2)>(&mut self, functor: F)

impl Planner
[src]

fn run1w4r<W0: Component, R0: Component, R1: Component, R2: Component, R3: Component, F: 'static + Send + FnMut(&mut W0, &R0, &R1, &R2, &R3)>(&mut self, functor: F)

impl Planner
[src]

fn run1w5r<W0: Component, R0: Component, R1: Component, R2: Component, R3: Component, R4: Component, F: 'static + Send + FnMut(&mut W0, &R0, &R1, &R2, &R3, &R4)>(&mut self, functor: F)

impl Planner
[src]

fn run1w6r<W0: Component, R0: Component, R1: Component, R2: Component, R3: Component, R4: Component, R5: Component, F: 'static + Send + FnMut(&mut W0, &R0, &R1, &R2, &R3, &R4, &R5)>(&mut self, functor: F)

impl Planner
[src]

fn run1w7r<W0: Component, R0: Component, R1: Component, R2: Component, R3: Component, R5: Component, R6: Component, R7: Component, F: 'static + Send + FnMut(&mut W0, &R0, &R1, &R2, &R3, &R5, &R6, &R7)>(&mut self, functor: F)

impl Planner
[src]

fn run2w0r<W0: Component, W1: Component, F: 'static + Send + FnMut(&mut W0, &mut W1)>(&mut self, functor: F)

impl Planner
[src]

fn run2w1r<W0: Component, W1: Component, R0: Component, F: 'static + Send + FnMut(&mut W0, &mut W1, &R0)>(&mut self, functor: F)

impl Planner
[src]

fn run2w2r<W0: Component, W1: Component, R0: Component, R1: Component, F: 'static + Send + FnMut(&mut W0, &mut W1, &R0, &R1)>(&mut self, functor: F)