Struct jobsteal::iter::Hide
[−]
[src]
pub struct Hide<T>(_);
Used to mask data so that implementations don't conflict.
Specifically, this is used in the implementation of Spliterator
for Zip
, by hiding the base. This is because Spliterator
requires
that the base be Split
. However, for Split
types, there is a blanket
impl for Spliterator
for convenience, so if we didn't mask the type,
there would be conflicting implementations of Spliterator
for Zip
.
This will be obsoleted when specialization becomes stable.
Numerous other iterator adapters also use this, but will all be cleared by specialization.
Trait Implementations
impl<T: IntoIterator> IntoIterator for Hide<CostMul<T>>
[src]
type Item = T::Item
The type of the elements being iterated over.
type IntoIter = T::IntoIter
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<T: Split> Split for Hide<CostMul<T>>
[src]
fn should_split(&self, mul: f32) -> Option<usize>
Whether this should split. Read more
fn split(self, idx: usize) -> (Self, Self)
Split the data at the specified index. Note that this may not always be the same as the index you return from should_split. Read more
fn size_hint(&self) -> (usize, Option<usize>)
A hint for the size of this data, containing a known lower bound (potentially zero) and an optional upper bound. Read more
impl<T: IntoIterator> IntoIterator for Hide<Enumerate<T>>
[src]
type Item = T::Item
The type of the elements being iterated over.
type IntoIter = T::IntoIter
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<T: Split> Split for Hide<Enumerate<T>>
[src]
fn should_split(&self, mul: f32) -> Option<usize>
Whether this should split. Read more
fn split(self, idx: usize) -> (Self, Self)
Split the data at the specified index. Note that this may not always be the same as the index you return from should_split. Read more
fn size_hint(&self) -> (usize, Option<usize>)
A hint for the size of this data, containing a known lower bound (potentially zero) and an optional upper bound. Read more
impl<A: IntoIterator, B: IntoIterator> IntoIterator for Hide<Zip<A, B>>
[src]
type Item = (A::Item, B::Item)
The type of the elements being iterated over.
type IntoIter = Zip<A::IntoIter, B::IntoIter>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<A: Split, B: Split> Split for Hide<Zip<A, B>>
[src]
fn should_split(&self, mul: f32) -> Option<usize>
Whether this should split. Read more
fn split(self, idx: usize) -> (Self, Self)
Split the data at the specified index. Note that this may not always be the same as the index you return from should_split. Read more
fn size_hint(&self) -> (usize, Option<usize>)
A hint for the size of this data, containing a known lower bound (potentially zero) and an optional upper bound. Read more