Struct shipyard::iterators::Loose5 [−][src]
pub struct Loose5<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> { /* fields omitted */ }
Expand description
Loose iterator over 5 components.
Trait Implementations
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> ExactSizeShiperator for Loose5<A, B, C, D, E>
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> ExactSizeShiperator for Loose5<A, B, C, D, E>
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> IntoIterator for Loose5<A, B, C, D, E>
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> IntoIterator for Loose5<A, B, C, D, E>
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> Producer for Loose5<A, B, C, D, E> where
A::AbsView: Clone + Send,
B::AbsView: Clone + Send,
C::AbsView: Clone + Send,
D::AbsView: Clone + Send,
E::AbsView: Clone + Send,
<A::AbsView as AbstractMut>::Out: Send,
<B::AbsView as AbstractMut>::Out: Send,
<C::AbsView as AbstractMut>::Out: Send,
<D::AbsView as AbstractMut>::Out: Send,
<E::AbsView as AbstractMut>::Out: Send,
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> Producer for Loose5<A, B, C, D, E> where
A::AbsView: Clone + Send,
B::AbsView: Clone + Send,
C::AbsView: Clone + Send,
D::AbsView: Clone + Send,
E::AbsView: Clone + Send,
<A::AbsView as AbstractMut>::Out: Send,
<B::AbsView as AbstractMut>::Out: Send,
<C::AbsView as AbstractMut>::Out: Send,
<D::AbsView as AbstractMut>::Out: Send,
<E::AbsView as AbstractMut>::Out: Send,
The type of item that will be produced by this producer once it is converted into an iterator. Read more
type IntoIter = IntoIterator<Self>
type IntoIter = IntoIterator<Self>
The type of iterator we will become.
Convert self
into an iterator; at this point, no more parallel splits
are possible. Read more
Split into two producers; one produces items 0..index
, the
other index..N
. Index must be less than or equal to N
. Read more
The minimum number of items that we will process
sequentially. Defaults to 1, which means that we will split
all the way down to a single item. This can be raised higher
using the with_min_len
method, which will force us to
create sequential tasks at a larger granularity. Note that
Rayon automatically normally attempts to adjust the size of
parallel splits to reduce overhead, so this should not be
needed. Read more
The maximum number of items that we will process
sequentially. Defaults to MAX, which means that we can choose
not to split at all. This can be lowered using the
with_max_len
method, which will force us to create more
parallel tasks. Note that Rayon automatically normally
attempts to adjust the size of parallel splits to reduce
overhead, so this should not be needed. Read more
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> Shiperator for Loose5<A, B, C, D, E>
impl<A: IntoAbstract, B: IntoAbstract, C: IntoAbstract, D: IntoAbstract, E: IntoAbstract> Shiperator for Loose5<A, B, C, D, E>
type Item = (<A::AbsView as AbstractMut>::Out, <B::AbsView as AbstractMut>::Out, <C::AbsView as AbstractMut>::Out, <D::AbsView as AbstractMut>::Out, <E::AbsView as AbstractMut>::Out)
Returns the minimum number of components yielded and maybe the maximum.
Visits all components and apply f
.
Visits all components and apply f
, can return early.
Visits all components, apply f
and store the result in acc
.
Visits all components, apply f
and store the result in acc
, can return early.
Returns the current iteration count as well as component(s).
Returns EntityId
as well as component(s).
Skips components that doesn’t match pred
.
Consumes the shiperator and counts the number of iterations.
Applies f
to all visited components.
Using it on an update packed storages will flag entities even if they’re not yielded at the end. Read more
Searches component(s) that matches pred
.
Transforms a shiperator into an iterator, allowing the use of for loop and crates such as itertools.
Iterator doesn’t know about update pack so it’ll flag everything it visits. Read more
Collects this shiperator into a collection.