[][src]Struct manger::ConsumeIter

pub struct ConsumeIter<'a, T> where
    T: Consumable
{ /* fields omitted */ }

Iterator over a source for a Consumable type T.

Will consume items of type 'T' in the order of the source.

Examples

use manger::{ Consumable, consume_struct };

let source = "(3)(4)(5)";

struct EncasedInteger(u32);
consume_struct!(
    EncasedInteger => [
        > '(',
        value: u32,
        > ')';
        (value)
    ]
);

let product: u32 = EncasedInteger::consume_iter(source)
    .map(|EncasedInteger(value)| value)
    .product();

assert_eq!(product, 60);

Trait Implementations

impl<'a, T: Debug> Debug for ConsumeIter<'a, T> where
    T: Consumable
[src]

impl<'a, T> Iterator for ConsumeIter<'a, T> where
    T: Consumable
[src]

type Item = T

The type of the elements being iterated over.

Auto Trait Implementations

impl<'a, T> RefUnwindSafe for ConsumeIter<'a, T> where
    T: RefUnwindSafe
[src]

impl<'a, T> Send for ConsumeIter<'a, T> where
    T: Send
[src]

impl<'a, T> Sync for ConsumeIter<'a, T> where
    T: Sync
[src]

impl<'a, T> Unpin for ConsumeIter<'a, T> where
    T: Unpin
[src]

impl<'a, T> UnwindSafe for ConsumeIter<'a, T> where
    T: 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, 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.