Struct itertools::structs::ExactlyOneError[][src]

pub struct ExactlyOneError<I> where
    I: Iterator
{ /* fields omitted */ }

Iterator returned for the error case of IterTools::exactly_one() This iterator yields exactly the same elements as the input iterator.

During the execution of exactly_one the iterator must be mutated. This wrapper effectively “restores” the state of the input iterator when it’s handed back.

This is very similar to PutBackN except this iterator only supports 0-2 elements and does not use a Vec.

Trait Implementations

impl<I: Clone> Clone for ExactlyOneError<I> where
    I: Iterator,
    I::Item: Clone,
    I::Item: Clone
[src]

impl<I> Debug for ExactlyOneError<I> where
    I: Iterator + Debug,
    I::Item: Debug
[src]

impl<I> Display for ExactlyOneError<I> where
    I: Iterator
[src]

impl<I> Error for ExactlyOneError<I> where
    I: Iterator + Debug,
    I::Item: Debug
[src]

impl<I> ExactSizeIterator for ExactlyOneError<I> where
    I: ExactSizeIterator
[src]

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

type Item = I::Item

The type of the elements being iterated over.

Auto Trait Implementations

impl<I> RefUnwindSafe for ExactlyOneError<I> where
    I: RefUnwindSafe,
    <I as Iterator>::Item: RefUnwindSafe

impl<I> Send for ExactlyOneError<I> where
    I: Send,
    <I as Iterator>::Item: Send

impl<I> Sync for ExactlyOneError<I> where
    I: Sync,
    <I as Iterator>::Item: Sync

impl<I> Unpin for ExactlyOneError<I> where
    I: Unpin,
    <I as Iterator>::Item: Unpin

impl<I> UnwindSafe for ExactlyOneError<I> where
    I: UnwindSafe,
    <I as Iterator>::Item: UnwindSafe

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> Itertools for T where
    T: Iterator + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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.