Struct legion::systems::Executor [−][src]
Executes a sequence of systems, potentially in parallel, and then commits their command buffers.
Systems are provided in execution order. When the parallel
feature is enabled, the Executor
may run some systems in parallel. The order in which side-effects (e.g. writes to resources
or entities) are observed is maintained.
Implementations
impl Executor
[src]
pub fn new(systems: Vec<Box<dyn ParallelRunnable>>) -> Self
[src]
Constructs a new executor for all systems to be run in a single stage.
Systems are provided in the order in which side-effects (e.g. writes to resources or entities) are to be observed.
pub fn into_vec(self) -> Vec<Box<dyn ParallelRunnable>>
[src]
Converts this executor into a vector of its component systems.
pub fn execute(&mut self, world: &mut World, resources: &mut Resources)
[src]
Executes all systems and then flushes their command buffers.
pub fn run_systems(&mut self, world: &mut World, resources: &UnsafeResources)
[src]
Executes all systems, potentially in parallel.
Ordering is retained in so far as the order of observed resource and component accesses is maintained.
Call from within rayon::ThreadPool::install()
to execute within a specific thread pool.
pub fn flush_command_buffers(
&mut self,
world: &mut World,
resources: &mut Resources
)
[src]
&mut self,
world: &mut World,
resources: &mut Resources
)
Flushes the recorded command buffers for all systems.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Executor
impl Send for Executor
impl Sync for Executor
impl Unpin for Executor
impl !UnwindSafe for Executor
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,