pub struct Debug<Upstream>where
Upstream: SignalVec,{ /* private fields */ }Expand description
Signal graph node that debug logs its upstream’s “raw” Vec<VecDiff>s, see
.debug.
Trait Implementations§
Source§impl<Upstream> SignalVec for Debug<Upstream>where
Upstream: SignalVec,
impl<Upstream> SignalVec for Debug<Upstream>where
Upstream: SignalVec,
Source§fn register_boxed_signal_vec(self: Box<Self>, world: &mut World) -> SignalHandle
fn register_boxed_signal_vec(self: Box<Self>, world: &mut World) -> SignalHandle
Source§fn register_signal_vec(self, world: &mut World) -> SignalHandlewhere
Self: Sized,
fn register_signal_vec(self, world: &mut World) -> SignalHandlewhere
Self: Sized,
Auto Trait Implementations§
impl<Upstream> Freeze for Debug<Upstream>where
Upstream: Freeze,
impl<Upstream> RefUnwindSafe for Debug<Upstream>where
Upstream: RefUnwindSafe,
impl<Upstream> Send for Debug<Upstream>
impl<Upstream> Sync for Debug<Upstream>
impl<Upstream> Unpin for Debug<Upstream>where
Upstream: Unpin,
impl<Upstream> UnwindSafe for Debug<Upstream>where
Upstream: UnwindSafe,
Blanket Implementations§
Source§impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
Source§impl<T> IntoSignalVecEither for Twhere
T: SignalVec,
impl<T> IntoSignalVecEither for Twhere
T: SignalVec,
Source§fn left_either<R>(self) -> SignalVecEither<Self, R>where
R: SignalVec,
fn left_either<R>(self) -> SignalVecEither<Self, R>where
R: SignalVec,
Source§fn right_either<L>(self) -> SignalVecEither<L, Self>where
L: SignalVec,
fn right_either<L>(self) -> SignalVecEither<L, Self>where
L: SignalVec,
Source§impl<T> SignalVecExt for T
impl<T> SignalVecExt for T
Source§fn for_each<O, IOO, F, M>(self, system: F) -> ForEach<Self, O>
fn for_each<O, IOO, F, M>(self, system: F) -> ForEach<Self, O>
Pass the “raw”
Vec<VecDiff<Self::Item>> output of this SignalVec to a System,
continuing propagation if the System returns Some or terminating for the frame if it
returns None. Unlike most other SignalVec methods,
.for_each, returns a Signal, not a SignalVec, since the
output type need not be an Option<Vec<VecDiff>>. If the System logic is infallible,
wrapping the result in an option is unnecessary.Source§fn map_in_ref<O, F>(self, function: F) -> Map<Self, O>
fn map_in_ref<O, F>(self, function: F) -> Map<Self, O>
Source§fn map_signal<S, F, M>(self, system: F) -> MapSignal<Self, S>
fn map_signal<S, F, M>(self, system: F) -> MapSignal<Self, S>
Source§fn filter_map<O, F, M>(self, system: F) -> FilterMap<Self, O>
fn filter_map<O, F, M>(self, system: F) -> FilterMap<Self, O>
Source§fn filter_signal<F, S, M>(self, system: F) -> FilterSignal<Self>
fn filter_signal<F, S, M>(self, system: F) -> FilterSignal<Self>
Source§fn enumerate(self) -> Enumerate<Self>
fn enumerate(self) -> Enumerate<Self>
Transform each
Item into a tuple where the right item is the original
item and the left item is a Signal<Item = Option<usize>> which outputs the item’s index
or None if it was removed. Note that the Signal<Item = Option<usize>>s are not
deduped so consumers must call .dedupe if resending the same index
every frame would be spurious. Read moreSource§fn to_signal(self) -> ToSignal<Self>
fn to_signal(self) -> ToSignal<Self>
Collect this
SignalVec’s Items into a Vec, transforming it into
an Signal<Item = Vec<Item>>. Read moreSource§fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
Source§fn intersperse_with<F, M>(self, separator_system: F) -> IntersperseWith<Self>
fn intersperse_with<F, M>(self, separator_system: F) -> IntersperseWith<Self>
Place the
Item output by the System between adjacent items of this
SignalVec; the System takes In a Signal<Item = Option<usize>> which outputs
the index of the corresponding Item or None if it has been removed.
Note that the Signal<Item = Option<usize>>s are not deduped so consumers must call
.dedupe if resending the same index every frame would be spurious. Read moreSource§fn sort_by<F, M>(self, compare_system: F) -> SortBy<Self>
fn sort_by<F, M>(self, compare_system: F) -> SortBy<Self>
Sort this
SignalVec according to a System which takes In (Self::Item, Self::Item) and returns a core::cmp::Ordering. Read moreSource§fn sort_by_cmp(self) -> SortBy<Self>
fn sort_by_cmp(self) -> SortBy<Self>
Source§fn sort_by_key<K, F, M>(self, system: F) -> SortByKey<Self>
fn sort_by_key<K, F, M>(self, system: F) -> SortByKey<Self>
Source§fn boxed_clone(
self,
) -> Box<dyn SignalVecDynClone<Item = Self::Item> + Send + Sync>
fn boxed_clone( self, ) -> Box<dyn SignalVecDynClone<Item = Self::Item> + Send + Sync>
Erases the type of this
SignalVec, allowing it to be used in conjunction with
SignalVecs of other concrete types, particularly in cases where the consumer requires
Clone, e.g. .switch_signal_vec. Read moreSource§fn schedule<Sched: ScheduleLabel + Default + 'static>(
self,
) -> ScheduledVec<Sched, Self::Item>where
Self: Sized + 'static,
fn schedule<Sched: ScheduleLabel + Default + 'static>(
self,
) -> ScheduledVec<Sched, Self::Item>where
Self: Sized + 'static,
Assign a schedule to this signal vec chain, see
SignalExt::schedule. Read moreSource§fn register(self, world: &mut World) -> SignalHandlewhere
Self: Sized,
fn register(self, world: &mut World) -> SignalHandlewhere
Self: Sized,
Activate this
SignalVec and all its upstreams, causing them to be evaluated every frame
until they are SignalHandle::cleanup-ed, see SignalHandle.Source§impl<S> SignalVecTaskExt for S
impl<S> SignalVecTaskExt for S
Source§fn task(self) -> Box<dyn SignalTask>
fn task(self) -> Box<dyn SignalTask>
Convert this signal vec into a type-erased
SignalTask for use with
Builder::hold_tasks.Source§impl<T> TypeData for T
impl<T> TypeData for T
Source§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of this value.