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

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

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

Runs a custom system.

fn wait(&mut self)

Waits for all currently executing systems to finish, and then merges all queued changes.

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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

impl Planner
[src]

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