pub trait ExclusiveSystemParam: Sized {
    type State: Send + Sync + 'static;
    type Item<'s>: ExclusiveSystemParam<State = Self::State>;

    // Required methods
    fn init(world: &mut World, system_meta: &mut SystemMeta) -> Self::State;
    fn get_param<'s>(
        state: &'s mut Self::State,
        system_meta: &SystemMeta
    ) -> Self::Item<'s>;
}

Required Associated Types§

type State: Send + Sync + 'static

type Item<'s>: ExclusiveSystemParam<State = Self::State>

Required Methods§

fn init(world: &mut World, system_meta: &mut SystemMeta) -> Self::State

fn get_param<'s>( state: &'s mut Self::State, system_meta: &SystemMeta ) -> Self::Item<'s>

Implementations on Foreign Types§

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam, P9: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6, P7> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam, P9: ExclusiveSystemParam, P10: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam, P9: ExclusiveSystemParam, P10: ExclusiveSystemParam, P11: ExclusiveSystemParam, P12: ExclusiveSystemParam, P13: ExclusiveSystemParam, P14: ExclusiveSystemParam, P15: ExclusiveSystemParam,

§

type State = (<P0 as ExclusiveSystemParam>::State, <P1 as ExclusiveSystemParam>::State, <P2 as ExclusiveSystemParam>::State, <P3 as ExclusiveSystemParam>::State, <P4 as ExclusiveSystemParam>::State, <P5 as ExclusiveSystemParam>::State, <P6 as ExclusiveSystemParam>::State, <P7 as ExclusiveSystemParam>::State, <P8 as ExclusiveSystemParam>::State, <P9 as ExclusiveSystemParam>::State, <P10 as ExclusiveSystemParam>::State, <P11 as ExclusiveSystemParam>::State, <P12 as ExclusiveSystemParam>::State, <P13 as ExclusiveSystemParam>::State, <P14 as ExclusiveSystemParam>::State, <P15 as ExclusiveSystemParam>::State)

§

type Item = (<P0 as ExclusiveSystemParam>::Item<'s>, <P1 as ExclusiveSystemParam>::Item<'s>, <P2 as ExclusiveSystemParam>::Item<'s>, <P3 as ExclusiveSystemParam>::Item<'s>, <P4 as ExclusiveSystemParam>::Item<'s>, <P5 as ExclusiveSystemParam>::Item<'s>, <P6 as ExclusiveSystemParam>::Item<'s>, <P7 as ExclusiveSystemParam>::Item<'s>, <P8 as ExclusiveSystemParam>::Item<'s>, <P9 as ExclusiveSystemParam>::Item<'s>, <P10 as ExclusiveSystemParam>::Item<'s>, <P11 as ExclusiveSystemParam>::Item<'s>, <P12 as ExclusiveSystemParam>::Item<'s>, <P13 as ExclusiveSystemParam>::Item<'s>, <P14 as ExclusiveSystemParam>::Item<'s>, <P15 as ExclusiveSystemParam>::Item<'s>)

§

fn init( _world: &mut World, _system_meta: &mut SystemMeta ) -> <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) as ExclusiveSystemParam>::State

§

fn get_param<'s>( state: &'s mut <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) as ExclusiveSystemParam>::State, system_meta: &SystemMeta ) -> <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) as ExclusiveSystemParam>::Item<'s>

§

impl<P0, P1> ExclusiveSystemParam for (P0, P1)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam,

§

type State = (<P0 as ExclusiveSystemParam>::State, <P1 as ExclusiveSystemParam>::State)

§

type Item = (<P0 as ExclusiveSystemParam>::Item<'s>, <P1 as ExclusiveSystemParam>::Item<'s>)

§

fn init( _world: &mut World, _system_meta: &mut SystemMeta ) -> <(P0, P1) as ExclusiveSystemParam>::State

§

fn get_param<'s>( state: &'s mut <(P0, P1) as ExclusiveSystemParam>::State, system_meta: &SystemMeta ) -> <(P0, P1) as ExclusiveSystemParam>::Item<'s>

§

impl<P0, P1, P2, P3> ExclusiveSystemParam for (P0, P1, P2, P3)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam, P9: ExclusiveSystemParam, P10: ExclusiveSystemParam, P11: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam, P9: ExclusiveSystemParam, P10: ExclusiveSystemParam, P11: ExclusiveSystemParam, P12: ExclusiveSystemParam, P13: ExclusiveSystemParam,

§

type State = (<P0 as ExclusiveSystemParam>::State, <P1 as ExclusiveSystemParam>::State, <P2 as ExclusiveSystemParam>::State, <P3 as ExclusiveSystemParam>::State, <P4 as ExclusiveSystemParam>::State, <P5 as ExclusiveSystemParam>::State, <P6 as ExclusiveSystemParam>::State, <P7 as ExclusiveSystemParam>::State, <P8 as ExclusiveSystemParam>::State, <P9 as ExclusiveSystemParam>::State, <P10 as ExclusiveSystemParam>::State, <P11 as ExclusiveSystemParam>::State, <P12 as ExclusiveSystemParam>::State, <P13 as ExclusiveSystemParam>::State)

§

type Item = (<P0 as ExclusiveSystemParam>::Item<'s>, <P1 as ExclusiveSystemParam>::Item<'s>, <P2 as ExclusiveSystemParam>::Item<'s>, <P3 as ExclusiveSystemParam>::Item<'s>, <P4 as ExclusiveSystemParam>::Item<'s>, <P5 as ExclusiveSystemParam>::Item<'s>, <P6 as ExclusiveSystemParam>::Item<'s>, <P7 as ExclusiveSystemParam>::Item<'s>, <P8 as ExclusiveSystemParam>::Item<'s>, <P9 as ExclusiveSystemParam>::Item<'s>, <P10 as ExclusiveSystemParam>::Item<'s>, <P11 as ExclusiveSystemParam>::Item<'s>, <P12 as ExclusiveSystemParam>::Item<'s>, <P13 as ExclusiveSystemParam>::Item<'s>)

§

fn init( _world: &mut World, _system_meta: &mut SystemMeta ) -> <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) as ExclusiveSystemParam>::State

§

fn get_param<'s>( state: &'s mut <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) as ExclusiveSystemParam>::State, system_meta: &SystemMeta ) -> <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) as ExclusiveSystemParam>::Item<'s>

§

impl<P0, P1, P2> ExclusiveSystemParam for (P0, P1, P2)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam,

§

type State = (<P0 as ExclusiveSystemParam>::State, <P1 as ExclusiveSystemParam>::State, <P2 as ExclusiveSystemParam>::State)

§

type Item = (<P0 as ExclusiveSystemParam>::Item<'s>, <P1 as ExclusiveSystemParam>::Item<'s>, <P2 as ExclusiveSystemParam>::Item<'s>)

§

fn init( _world: &mut World, _system_meta: &mut SystemMeta ) -> <(P0, P1, P2) as ExclusiveSystemParam>::State

§

fn get_param<'s>( state: &'s mut <(P0, P1, P2) as ExclusiveSystemParam>::State, system_meta: &SystemMeta ) -> <(P0, P1, P2) as ExclusiveSystemParam>::Item<'s>

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam, P9: ExclusiveSystemParam, P10: ExclusiveSystemParam, P11: ExclusiveSystemParam, P12: ExclusiveSystemParam, P13: ExclusiveSystemParam, P14: ExclusiveSystemParam,

§

type State = (<P0 as ExclusiveSystemParam>::State, <P1 as ExclusiveSystemParam>::State, <P2 as ExclusiveSystemParam>::State, <P3 as ExclusiveSystemParam>::State, <P4 as ExclusiveSystemParam>::State, <P5 as ExclusiveSystemParam>::State, <P6 as ExclusiveSystemParam>::State, <P7 as ExclusiveSystemParam>::State, <P8 as ExclusiveSystemParam>::State, <P9 as ExclusiveSystemParam>::State, <P10 as ExclusiveSystemParam>::State, <P11 as ExclusiveSystemParam>::State, <P12 as ExclusiveSystemParam>::State, <P13 as ExclusiveSystemParam>::State, <P14 as ExclusiveSystemParam>::State)

§

type Item = (<P0 as ExclusiveSystemParam>::Item<'s>, <P1 as ExclusiveSystemParam>::Item<'s>, <P2 as ExclusiveSystemParam>::Item<'s>, <P3 as ExclusiveSystemParam>::Item<'s>, <P4 as ExclusiveSystemParam>::Item<'s>, <P5 as ExclusiveSystemParam>::Item<'s>, <P6 as ExclusiveSystemParam>::Item<'s>, <P7 as ExclusiveSystemParam>::Item<'s>, <P8 as ExclusiveSystemParam>::Item<'s>, <P9 as ExclusiveSystemParam>::Item<'s>, <P10 as ExclusiveSystemParam>::Item<'s>, <P11 as ExclusiveSystemParam>::Item<'s>, <P12 as ExclusiveSystemParam>::Item<'s>, <P13 as ExclusiveSystemParam>::Item<'s>, <P14 as ExclusiveSystemParam>::Item<'s>)

§

fn init( _world: &mut World, _system_meta: &mut SystemMeta ) -> <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) as ExclusiveSystemParam>::State

§

fn get_param<'s>( state: &'s mut <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) as ExclusiveSystemParam>::State, system_meta: &SystemMeta ) -> <(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) as ExclusiveSystemParam>::Item<'s>

§

impl ExclusiveSystemParam for ()

§

type State = ()

§

type Item = ()

§

fn init( _world: &mut World, _system_meta: &mut SystemMeta ) -> <() as ExclusiveSystemParam>::State

§

fn get_param<'s>( state: &'s mut <() as ExclusiveSystemParam>::State, system_meta: &SystemMeta ) -> <() as ExclusiveSystemParam>::Item<'s>

§

impl<P0, P1, P2, P3, P4> ExclusiveSystemParam for (P0, P1, P2, P3, P4)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam,

§

impl<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> ExclusiveSystemParam for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)where P0: ExclusiveSystemParam, P1: ExclusiveSystemParam, P2: ExclusiveSystemParam, P3: ExclusiveSystemParam, P4: ExclusiveSystemParam, P5: ExclusiveSystemParam, P6: ExclusiveSystemParam, P7: ExclusiveSystemParam, P8: ExclusiveSystemParam, P9: ExclusiveSystemParam, P10: ExclusiveSystemParam, P11: ExclusiveSystemParam, P12: ExclusiveSystemParam,

§

impl<P0> ExclusiveSystemParam for (P0,)where P0: ExclusiveSystemParam,

§

type State = (<P0 as ExclusiveSystemParam>::State,)

§

type Item = (<P0 as ExclusiveSystemParam>::Item<'s>,)

§

fn init( _world: &mut World, _system_meta: &mut SystemMeta ) -> <(P0,) as ExclusiveSystemParam>::State

§

fn get_param<'s>( state: &'s mut <(P0,) as ExclusiveSystemParam>::State, system_meta: &SystemMeta ) -> <(P0,) as ExclusiveSystemParam>::Item<'s>

Implementors§

§

impl<'_s, T> ExclusiveSystemParam for Local<'_s, T>where T: FromWorld + Send + 'static,

§

type State = SyncCell<T>

§

type Item = Local<'s, T>

§

impl<'a, P> ExclusiveSystemParam for &'a mut SystemState<P>where P: SystemParam + 'static,

§

type State = SystemState<P>

§

type Item = &'s mut SystemState<P>

§

impl<'a, Q, F> ExclusiveSystemParam for &'a mut QueryState<Q, F>where Q: WorldQuery + 'static, F: ReadOnlyWorldQuery + 'static,

§

type State = QueryState<Q, F>

§

type Item = &'s mut QueryState<Q, F>