Trait SystemData

Source
pub trait SystemData<'a>: SystemAccess {
    type Value;

    // Required methods
    fn acquire(&'a mut self, ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value;
    fn describe(&self, f: &mut Formatter<'_>) -> Result;
}
Expand description

Borrow state from the system execution data

Required Associated Types§

Source

type Value

The borrow from the system context

Required Methods§

Source

fn acquire(&'a mut self, ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Get the data from the system context

Source

fn describe(&self, f: &mut Formatter<'_>) -> Result

Human friendly debug description

Implementations on Foreign Types§

Source§

impl<'a> SystemData<'a> for ()

Source§

type Value = ()

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Source§

impl<'a, A> SystemData<'a> for (A,)
where A: SystemData<'a>,

Source§

type Value = (<A as SystemData<'a>>::Value,)

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Source§

impl<'a, A, B> SystemData<'a> for (A, B)
where A: SystemData<'a>, B: SystemData<'a>,

Source§

type Value = (<A as SystemData<'a>>::Value, <B as SystemData<'a>>::Value)

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Source§

impl<'a, A, B, C> SystemData<'a> for (A, B, C)
where A: SystemData<'a>, B: SystemData<'a>, C: SystemData<'a>,

Source§

type Value = (<A as SystemData<'a>>::Value, <B as SystemData<'a>>::Value, <C as SystemData<'a>>::Value)

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Source§

impl<'a, A, B, C, D> SystemData<'a> for (A, B, C, D)
where A: SystemData<'a>, B: SystemData<'a>, C: SystemData<'a>, D: SystemData<'a>,

Source§

type Value = (<A as SystemData<'a>>::Value, <B as SystemData<'a>>::Value, <C as SystemData<'a>>::Value, <D as SystemData<'a>>::Value)

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Source§

impl<'a, A, B, C, D, E> SystemData<'a> for (A, B, C, D, E)
where A: SystemData<'a>, B: SystemData<'a>, C: SystemData<'a>, D: SystemData<'a>, E: SystemData<'a>,

Source§

type Value = (<A as SystemData<'a>>::Value, <B as SystemData<'a>>::Value, <C as SystemData<'a>>::Value, <D as SystemData<'a>>::Value, <E as SystemData<'a>>::Value)

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Source§

impl<'a, A, B, C, D, E, F> SystemData<'a> for (A, B, C, D, E, F)
where A: SystemData<'a>, B: SystemData<'a>, C: SystemData<'a>, D: SystemData<'a>, E: SystemData<'a>, F: SystemData<'a>,

Source§

type Value = (<A as SystemData<'a>>::Value, <B as SystemData<'a>>::Value, <C as SystemData<'a>>::Value, <D as SystemData<'a>>::Value, <E as SystemData<'a>>::Value, <F as SystemData<'a>>::Value)

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Source§

impl<'a, A, B, C, D, E, F, H> SystemData<'a> for (A, B, C, D, E, F, H)
where A: SystemData<'a>, B: SystemData<'a>, C: SystemData<'a>, D: SystemData<'a>, E: SystemData<'a>, F: SystemData<'a>, H: SystemData<'a>,

Source§

type Value = (<A as SystemData<'a>>::Value, <B as SystemData<'a>>::Value, <C as SystemData<'a>>::Value, <D as SystemData<'a>>::Value, <E as SystemData<'a>>::Value, <F as SystemData<'a>>::Value, <H as SystemData<'a>>::Value)

Source§

fn acquire(&'a mut self, _ctx: &'a SystemContext<'_, '_, '_>) -> Self::Value

Source§

fn describe(&self, f: &mut Formatter<'_>) -> Result

Implementors§

Source§

impl<'a, Q, F, S> SystemData<'a> for Query<Q, F, S>
where Q: 'static + for<'x> Fetch<'x>, F: 'static + for<'x> Fetch<'x>, S: 'static + for<'x> QueryStrategy<'x, Q, F>,

Source§

type Value = QueryData<'a, Q, F, S>

Source§

impl<'a, T> SystemData<'a> for SharedResource<T>
where T: Send + 'static,