Module itertools::structs[][src]

The concrete iterator types.

Structs

Batching

A “meta iterator adaptor”. Its closure receives a reference to the iterator and may pick off as many elements as it likes, to produce the next iterator element.

Chunk

An iterator for the elements in a single chunk.

Chunks

An iterator that yields the Chunk iterators.

Coalesce

An iterator adaptor that may join together adjacent elements.

Combinations

An iterator to iterate through all the k-length combinations in an iterator.

CombinationsWithReplacement

An iterator to iterate through all the n-length combinations in an iterator, with replacement.

ConsTuples

An iterator that maps an iterator of tuples like ((A, B), C) to an iterator of (A, B, C).

DedupBy

An iterator adaptor that removes repeated duplicates, determining equality using a comparison function.

ExactlyOneError

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

Format

Format all iterator elements lazily, separated by sep.

FormatWith

Format all iterator elements lazily, separated by sep.

Group

An iterator for the elements in a single group.

GroupBy

GroupBy is the storage for the lazy grouping operation.

Groups

An iterator that yields the Group iterators.

Interleave

An iterator adaptor that alternates elements from two iterators until both run out.

InterleaveShortest

An iterator adaptor that alternates elements from the two iterators until one of them runs out.

Intersperse

An iterator adaptor to insert a particular value between each element of the adapted iterator.

IntoChunks

ChunkLazy is the storage for a lazy chunking operation.

Iterate

An iterator that infinitely applies function to value and yields results.

KMergeBy

An iterator adaptor that merges an abitrary number of base iterators according to an ordering function.

MapInto

An iterator adapter to apply Into conversion to each element.

MapResults

An iterator adapter to apply a transformation within a nested Result.

MergeBy

An iterator adaptor that merges the two base iterators in ascending order. If both base iterators are sorted (ascending), the result is sorted.

MergeJoinBy

An iterator adaptor that merge-joins items from the two base iterators in ascending order.

MultiPeek

See multipeek() for more information.

MultiProduct

An iterator adaptor that iterates over the cartesian product of multiple iterators of type I.

PadUsing

An iterator adaptor that pads a sequence to a minimum length by filling missing elements using a closure.

PeekingTakeWhile

An iterator adaptor that takes items while a closure returns true.

Permutations

An iterator adaptor that iterates through all the k-permutations of the elements from an iterator.

Positions

An iterator adapter to get the positions of each element that matches a predicate.

ProcessResults

An iterator that produces only the T values as long as the inner iterator produces Ok(T).

Product

An iterator adaptor that iterates over the cartesian product of the element sets of two iterators I and J.

PutBack

An iterator adaptor that allows putting back a single item to the front of the iterator.

PutBackN

An iterator adaptor that allows putting multiple items in front of the iterator.

RcIter

A wrapper for Rc<RefCell<I>>, that implements the Iterator trait.

RepeatCallDeprecated

See repeat_call for more information.

RepeatN

An iterator that produces n repetitions of an element.

StepDeprecated

An iterator adaptor that steps a number elements in the base iterator for each iteration.

TakeWhileRef

An iterator adaptor that borrows from a Clone-able iterator to only pick off elements while the predicate returns true.

Tee

One half of an iterator pair where both return the same elements.

TupleBuffer

An iterator over a incomplete tuple.

TupleCombinations

An iterator to iterate through all combinations in a Clone-able iterator that produces tuples of a specific size.

TupleWindows

An iterator over all contiguous windows that produces tuples of a specific size.

Tuples

An iterator that groups the items in tuples of a specific size.

Unfold

See unfold for more information.

Unique

An iterator adapter to filter out duplicate elements.

UniqueBy

An iterator adapter to filter out duplicate elements.

Update

An iterator adapter to apply a mutating function to each element before yielding it.

WhileSome

An iterator adaptor that filters Option<A> iterator elements and produces A. Stops on the first None encountered.

WithPosition

An iterator adaptor that wraps each element in an Position.

Zip

See multizip for more information.

ZipEq

An iterator which iterates two other iterators simultaneously

ZipLongest

An iterator which iterates two other iterators simultaneously

Type Definitions

Dedup

An iterator adaptor that removes repeated duplicates.

KMerge

An iterator adaptor that merges an abitrary number of base iterators in ascending order. If all base iterators are sorted (ascending), the result is sorted.

Merge

An iterator adaptor that merges the two base iterators in ascending order. If both base iterators are sorted (ascending), the result is sorted.