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