[][src]Struct toodee::FlattenExact

pub struct FlattenExact<I> where
    I: ExactSizeIterator + DoubleEndedIterator + TooDeeIterator,
    I::Item: IntoIterator,
    <I::Item as IntoIterator>::IntoIter: DoubleEndedIterator + ExactSizeIterator
{ /* fields omitted */ }

An iterator that behaves like core::iter::adapters::Flatten but has the added advantage of implementing ExactSizeIterator (we know how many cells there are per row in a TooDee array).

Trait Implementations

impl<I> DoubleEndedIterator for FlattenExact<I> where
    I: ExactSizeIterator + DoubleEndedIterator + TooDeeIterator,
    I::Item: IntoIterator,
    <I::Item as IntoIterator>::IntoIter: DoubleEndedIterator + ExactSizeIterator
[src]

impl<I> ExactSizeIterator for FlattenExact<I> where
    I: ExactSizeIterator + DoubleEndedIterator + TooDeeIterator,
    I::Item: IntoIterator,
    <I::Item as IntoIterator>::IntoIter: DoubleEndedIterator + ExactSizeIterator
[src]

impl<I> Iterator for FlattenExact<I> where
    I: ExactSizeIterator + DoubleEndedIterator + TooDeeIterator,
    I::Item: IntoIterator,
    <I::Item as IntoIterator>::IntoIter: DoubleEndedIterator + ExactSizeIterator
[src]

type Item = <I::Item as IntoIterator>::Item

The type of the elements being iterated over.

impl<I> TooDeeIterator for FlattenExact<I> where
    I: ExactSizeIterator + DoubleEndedIterator + TooDeeIterator,
    I::Item: IntoIterator,
    <I::Item as IntoIterator>::IntoIter: DoubleEndedIterator + ExactSizeIterator
[src]

Auto Trait Implementations

impl<I> Send for FlattenExact<I> where
    I: Send,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: Send

impl<I> Sync for FlattenExact<I> where
    I: Sync,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: Sync

impl<I> Unpin for FlattenExact<I> where
    I: Unpin,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.