1.29.0[][src]Struct sp_std::iter::Flatten

#[must_use = "iterators are lazy and do nothing unless consumed"]pub struct Flatten<I> where
    I: Iterator,
    <I as Iterator>::Item: IntoIterator
{ /* fields omitted */ }

An iterator that flattens one level of nesting in an iterator of things that can be turned into iterators.

This struct is created by the flatten method on Iterator. See its documentation for more.

Trait Implementations

impl<I, U> Clone for Flatten<I> where
    I: Clone + Iterator,
    U: Clone + Iterator,
    <I as Iterator>::Item: IntoIterator,
    <<I as Iterator>::Item as IntoIterator>::IntoIter == U,
    <<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item
[src]

impl<I, U> Debug for Flatten<I> where
    I: Debug + Iterator,
    U: Debug + Iterator,
    <I as Iterator>::Item: IntoIterator,
    <<I as Iterator>::Item as IntoIterator>::IntoIter == U,
    <<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item
[src]

impl<I, U> DoubleEndedIterator for Flatten<I> where
    I: DoubleEndedIterator,
    U: DoubleEndedIterator,
    <I as Iterator>::Item: IntoIterator,
    <<I as Iterator>::Item as IntoIterator>::IntoIter == U,
    <<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item
[src]

impl<I, U> FusedIterator for Flatten<I> where
    I: FusedIterator,
    U: Iterator,
    <I as Iterator>::Item: IntoIterator,
    <<I as Iterator>::Item as IntoIterator>::IntoIter == U,
    <<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item
[src]

impl<I, U> Iterator for Flatten<I> where
    I: Iterator,
    U: Iterator,
    <I as Iterator>::Item: IntoIterator,
    <<I as Iterator>::Item as IntoIterator>::IntoIter == U,
    <<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item
[src]

type Item = <U as Iterator>::Item

The type of the elements being iterated over.

Auto Trait Implementations

impl<I> RefUnwindSafe for Flatten<I> where
    I: RefUnwindSafe,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: RefUnwindSafe
[src]

impl<I> Send for Flatten<I> where
    I: Send,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: Send
[src]

impl<I> Sync for Flatten<I> where
    I: Sync,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: Sync
[src]

impl<I> Unpin for Flatten<I> where
    I: Unpin,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: Unpin
[src]

impl<I> UnwindSafe for Flatten<I> where
    I: UnwindSafe,
    <<I as Iterator>::Item as IntoIterator>::IntoIter: UnwindSafe
[src]

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.