Struct iterable::LazyEnumerate[][src]

#[must_use = "iterable adaptors are lazy and do nothing unless consumed"]
pub struct LazyEnumerate<I> { /* fields omitted */ }

Trait Implementations

impl<I: Clone> Clone for LazyEnumerate<I>[src]

fn clone(&self) -> LazyEnumerate<I>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<I> Consumer for LazyEnumerate<I> where
    I: Consumer
[src]

type Item = (usize, I::Item)

type IntoIter = Enumerate<I::IntoIter>

fn consume(self) -> Self::IntoIter[src]

impl<I: Debug> Debug for LazyEnumerate<I>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<I> Iterable for LazyEnumerate<I> where
    I: Iterable
[src]

type C = I::CC

type CC = I::CC

type F = I::CF

type CF = I::CF

fn count(self) -> usize where
    Self: Sized
[src]

fn last(self) -> Option<Self::Item> where
    Self: Sized
[src]

fn nth(self, n: usize) -> Option<Self::Item> where
    Self: Sized
[src]

fn step_by(self, step: usize) -> Self::C where
    Self: Sized,
    Self::C: Producer<Self::Item>, 
[src]

fn chain(self, other: impl Consumer<Item = Self::Item>) -> Self::C where
    Self: Sized,
    Self::C: Producer<Self::Item>, 
[src]

fn zip<E>(self, other: impl Consumer<Item = E>) -> Self::CC where
    Self: Sized,
    Self::CC: Producer<(Self::Item, E)>, 
[src]

fn map<U>(self, f: impl Fn(Self::Item) -> U) -> Self::CF where
    Self: Sized,
    Self::CF: Producer<U>, 
[src]

fn foreach(self, f: impl Fn(Self::Item)) where
    Self: Sized
[src]

fn filter(self, f: impl Fn(&Self::Item) -> bool) -> Self::C where
    Self: Sized,
    Self::C: Producer<Self::Item>, 
[src]

fn filter_map<U>(self, f: impl Fn(Self::Item) -> Option<U>) -> Self::CC where
    Self: Sized,
    Self::CC: Producer<U>, 
[src]

fn enumerate(self) -> Self::CF where
    Self: Sized,
    Self::CF: Producer<(usize, Self::Item)>, 
[src]

fn skip_while(self, f: impl Fn(&Self::Item) -> bool) -> Self::C where
    Self: Sized,
    Self::C: Producer<Self::Item>, 
[src]

fn take_while(self, f: impl Fn(&Self::Item) -> bool) -> Self::C where
    Self: Sized,
    Self::C: Producer<Self::Item>, 
[src]

fn map_while<U>(self, f: impl Fn(Self::Item) -> Option<U>) -> Self::CC where
    Self: Sized,
    Self::CC: Producer<U>, 
[src]

fn skip(self, n: usize) -> Self::C where
    Self: Sized,
    Self::C: Producer<Self::Item>, 
[src]

fn take(self, n: usize) -> Self::C where
    Self: Sized,
    Self::C: Producer<Self::Item>, 
[src]

fn scan<S>(self, state: S, f: impl Fn(S, Self::Item) -> S) -> Self::CC where
    S: Clone,
    Self: Sized,
    Self::CC: Producer<S>, 
[src]

fn flat_map<U>(self, f: impl Fn(Self::Item) -> U) -> Self::CC where
    U: Consumer,
    Self: Sized,
    Self::CC: Producer<U::Item>, 
[src]

fn flatten(self) -> Self::CC where
    Self: Sized,
    Self::Item: Consumer,
    Self::CC: Producer<<Self::Item as Consumer>::Item>, 
[src]

fn by_ref(&self) -> &Self[src]

fn partition(self, f: impl Fn(&Self::Item) -> bool) -> (Self::C, Self::C) where
    Self: Sized,
    Self::C: GrowableProducer<Self::Item>, 
[src]

fn try_fold<S, R>(self, init: S, f: impl Fn(S, Self::Item) -> R) -> R where
    Self: Sized,
    R: Try<Output = S>, 
[src]

fn try_for_each<R>(self, f: impl Fn(Self::Item) -> R) -> R where
    Self: Sized,
    R: Try<Output = ()>, 
[src]

fn fold<S>(self, init: S, f: impl Fn(S, Self::Item) -> S) -> S where
    Self: Sized
[src]

fn all(self, f: impl Fn(Self::Item) -> bool) -> bool where
    Self: Sized
[src]

fn any(self, f: impl Fn(Self::Item) -> bool) -> bool where
    Self: Sized
[src]

fn find(self, f: impl Fn(&Self::Item) -> bool) -> Option<Self::Item> where
    Self: Sized
[src]

fn find_map<B>(self, f: impl Fn(Self::Item) -> Option<B>) -> Option<B> where
    Self: Sized
[src]

fn position(self, f: impl Fn(Self::Item) -> bool) -> Option<usize> where
    Self: Sized
[src]

fn rposition(self, f: impl Fn(Self::Item) -> bool) -> Option<usize> where
    Self: Sized,
    Self::IntoIter: ExactSizeIterator + DoubleEndedIterator
[src]

fn max(self) -> Option<Self::Item> where
    Self: Sized,
    Self::Item: Ord
[src]

fn min(self) -> Option<Self::Item> where
    Self: Sized,
    Self::Item: Ord
[src]

fn max_by_key<B>(self, f: impl Fn(&Self::Item) -> B) -> Option<Self::Item> where
    Self: Sized,
    B: Ord
[src]

fn max_by(
    self,
    f: impl Fn(&Self::Item, &Self::Item) -> Ordering
) -> Option<Self::Item> where
    Self: Sized
[src]

fn min_by_key<B>(self, f: impl Fn(&Self::Item) -> B) -> Option<Self::Item> where
    Self: Sized,
    B: Ord
[src]

fn min_by(
    self,
    f: impl Fn(&Self::Item, &Self::Item) -> Ordering
) -> Option<Self::Item> where
    Self: Sized
[src]

fn unzip<A, B>(self) -> (Self::CF, Self::CF) where
    Self: Sized,
    Self: Consumer<Item = (A, B)>,
    Self::CF: GrowableProducer<A>,
    Self::CF: GrowableProducer<B>, 
[src]

fn copied<'a, T>(self) -> Self::CF where
    T: 'a + Copy,
    Self: Sized,
    Self: Consumer<Item = &'a T>,
    Self::CF: Producer<T>, 
[src]

fn cloned<'a, T>(self) -> Self::CF where
    T: 'a + Clone,
    Self: Sized,
    Self: Consumer<Item = &'a T>,
    Self::CF: Producer<T>, 
[src]

fn sum<S>(self) -> S where
    Self: Sized,
    S: Sum<Self::Item>, 
[src]

fn product<S>(self) -> S where
    Self: Sized,
    S: Product<Self::Item>, 
[src]

fn cmp<I>(self, other: I) -> Ordering where
    I: Consumer<Item = Self::Item>,
    Self: Sized,
    Self::Item: Ord
[src]

fn partial_cmp<I>(self, other: I) -> Option<Ordering> where
    I: Consumer,
    Self: Sized,
    Self::Item: PartialOrd<<I as Consumer>::Item>, 
[src]

fn eq<I>(self, other: I) -> bool where
    I: Consumer,
    Self: Sized,
    Self::Item: PartialEq<<I as Consumer>::Item>, 
[src]

fn ne<I>(self, other: I) -> bool where
    I: Consumer,
    Self: Sized,
    Self::Item: PartialEq<<I as Consumer>::Item>, 
[src]

fn lt<I>(self, other: I) -> bool where
    I: Consumer,
    Self: Sized,
    Self::Item: PartialOrd<<I as Consumer>::Item>, 
[src]

fn le<I>(self, other: I) -> bool where
    I: Consumer,
    Self: Sized,
    Self::Item: PartialOrd<<I as Consumer>::Item>, 
[src]

fn gt<I>(self, other: I) -> bool where
    I: Consumer,
    Self: Sized,
    Self::Item: PartialOrd<<I as Consumer>::Item>, 
[src]

fn ge<I>(self, other: I) -> bool where
    I: Consumer,
    Self: Sized,
    Self::Item: PartialOrd<<I as Consumer>::Item>, 
[src]

fn join(self, sep: &str) -> String where
    Self: Sized,
    Self::Item: Display
[src]

fn add_one(self, a: Self::Item) -> Self::C where
    Self: Sized,
    Self::C: GrowableProducer<Self::Item>, 
[src]

fn try_add_one<R>(self, r: R) -> R::Map where
    R: TryExt<Output = Self::Item>,
    Self: Sized,
    Self::C: GrowableProducer<Self::Item>, 
[src]

fn try_map<B, R, F>(self, f: F) -> R::Map where
    F: Fn(Self::Item) -> R,
    R: TryExt<Output = B>,
    Self: Sized,
    Self::CC: GrowableProducer<B>, 
[src]

fn try_flat_map<B, R, F>(self, f: F) -> R::Map where
    F: Fn(Self::Item) -> R,
    R: TryExt<Output = B>,
    B: Consumer,
    Self: Sized,
    Self::CC: GrowableProducer<B::Item>, 
[src]

fn try_flatten(self) -> <Self::Item as TryExt>::Map where
    Self: Sized,
    Self::Item: TryExt,
    <Self::Item as Try>::Output: Consumer,
    Self::CC: GrowableProducer<<<Self::Item as Try>::Output as Consumer>::Item>, 
[src]

fn lazy_step_by(self, step: usize) -> LazyStepBy<Self> where
    Self: Sized
[src]

fn lazy_chain<C: Consumer>(self, c: C) -> LazyChain<Self, C> where
    Self: Sized
[src]

fn lazy_zip<C: Consumer>(self, c: C) -> LazyZip<Self, C> where
    Self: Sized
[src]

fn lazy_filter<F: Fn(&Self::Item) -> bool>(self, f: F) -> LazyFilter<Self, F> where
    Self: Sized
[src]

fn lazy_map<T, F: Fn(Self::Item) -> T>(self, f: F) -> LazyMap<Self, F> where
    Self: Sized
[src]

fn lazy_filter_map<T, F: Fn(Self::Item) -> Option<T>>(
    self,
    f: F
) -> LazyFilterMap<Self, F> where
    Self: Sized
[src]

fn lazy_enumerate(self) -> LazyEnumerate<Self> where
    Self: Sized
[src]

fn lazy_skip_while<F: Fn(&Self::Item) -> bool>(
    self,
    f: F
) -> LazySkipWhile<Self, F> where
    Self: Sized
[src]

fn lazy_map_while<T, F: Fn(Self::Item) -> Option<T>>(
    self,
    f: F
) -> LazyMapWhile<Self, F> where
    Self: Sized
[src]

fn lazy_skip(self, n: usize) -> LazySkip<Self> where
    Self: Sized
[src]

fn lazy_take(self, n: usize) -> LazyTake<Self> where
    Self: Sized
[src]

fn lazy_scan<S, F: Fn(S, Self::Item) -> S>(
    self,
    state: S,
    f: F
) -> LazyScan<S, Self, F> where
    Self: Sized
[src]

fn lazy_flat_map<T: Consumer, F: Fn(Self::Item) -> T>(
    self,
    f: F
) -> LazyFlatMap<Self, F> where
    Self: Sized
[src]

fn lazy_flatten(self) -> LazyFlatten<Self> where
    Self: Sized,
    Self::Item: Consumer
[src]

fn lazy_copied<'a, T>(self) -> LazyCopied<Self> where
    T: 'a + Copy,
    Self: Sized,
    Self: Consumer<Item = &'a T>, 
[src]

fn lazy_cloned<'a, T>(self) -> LazyCloned<Self> where
    T: 'a + Clone,
    Self: Sized,
    Self: Consumer<Item = &'a T>, 
[src]

fn lazy_cycle(self) -> LazyCycle<Self> where
    Self: Sized,
    Self::IntoIter: Clone
[src]

impl<I> IterableSeq for LazyEnumerate<I> where
    I: IterableSeq
[src]

fn rev(self) -> Self::F where
    Self: Sized,
    Self::F: Producer<Self::Item>,
    Self::IntoIter: DoubleEndedIterator
[src]

fn sorted(self) -> Self::F where
    Self: Sized,
    Self::Item: Ord,
    Self::F: Producer<Self::Item>, 
[src]

fn sorted_by<F>(self, f: F) -> Self::F where
    F: Fn(&Self::Item, &Self::Item) -> Ordering,
    Self: Sized,
    Self::F: Producer<Self::Item>, 
[src]

fn sorted_by_key<K, F>(self, f: F) -> Self::F where
    K: Ord,
    F: Fn(&Self::Item) -> K,
    Self: Sized,
    Self::F: Producer<Self::Item>, 
[src]

fn lazy_rev(self) -> LazyRev<Self> where
    Self: Sized,
    Self::IntoIter: DoubleEndedIterator
[src]

Auto Trait Implementations

impl<I> RefUnwindSafe for LazyEnumerate<I> where
    I: RefUnwindSafe

impl<I> Send for LazyEnumerate<I> where
    I: Send

impl<I> Sync for LazyEnumerate<I> where
    I: Sync

impl<I> Unpin for LazyEnumerate<I> where
    I: Unpin

impl<I> UnwindSafe for LazyEnumerate<I> where
    I: UnwindSafe

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.