Module itertools::structs [−][src]
Expand description
The concrete iterator types.
Structs
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.
An iterator for the elements in a single chunk.
An iterator that yields the Chunk iterators.
An iterator over all windows,wrapping back to the first elements when the window would otherwise exceed the length of the iterator, producing tuples of a specific size.
An iterator to iterate through all the k
-length combinations in an iterator.
An iterator to iterate through all the n
-length combinations in an iterator, with replacement.
An iterator that maps an iterator of tuples like
((A, B), C)
to an iterator of (A, B, C)
.
Iterator returned for the error case of IterTools::exactly_one()
This iterator yields exactly the same elements as the input iterator.
An iterator adapter to filter and apply a transformation on values within a nested Result::Ok
.
An iterator adapter to filter values within a nested Result::Ok
.
An iterator adaptor that flattens Result::Ok
values and
allows Result::Err
values through unchanged.
Format all iterator elements lazily, separated by sep
.
Format all iterator elements lazily, separated by sep
.
An iterator for the elements in a single group.
GroupBy
is the storage for the lazy grouping operation.
GroupingMap
is an intermediate struct for efficient group-and-fold operations.
It groups elements by their key and at the same time fold each group
using some aggregating operation.
An iterator that yields the Group iterators.
An iterator adaptor that alternates elements from two iterators until both run out.
An iterator adaptor that alternates elements from the two iterators until one of them runs out.
An iterator adaptor to insert a particular value created by a function between each element of the adapted iterator.
ChunkLazy
is the storage for a lazy chunking operation.
An iterator that infinitely applies function to value and yields results.
An iterator adaptor that merges an abitrary number of base iterators according to an ordering function.
An iterator adaptor that merges the two base iterators in ascending order. If both base iterators are sorted (ascending), the result is sorted.
An iterator adaptor that merge-joins items from the two base iterators in ascending order.
See multipeek()
for more information.
An iterator adaptor that iterates over the cartesian product of
multiple iterators of type I
.
An iterator adaptor that pads a sequence to a minimum length by filling missing elements using a closure.
See peek_nth()
for more information.
An iterator adaptor that takes items while a closure returns true
.
An iterator adaptor that iterates through all the k
-permutations of the
elements from an iterator.
An iterator adapter to get the positions of each element that matches a predicate.
An iterator to iterate through the powerset of the elements from an iterator.
An iterator that produces only the T
values as long as the
inner iterator produces Ok(T)
.
An iterator adaptor that iterates over the cartesian product of
the element sets of two iterators I
and J
.
An iterator adaptor that allows putting back a single item to the front of the iterator.
An iterator adaptor that allows putting multiple items in front of the iterator.
A wrapper for Rc<RefCell<I>>
, that implements the Iterator
trait.
See repeat_call
for more information.
An iterator that produces n repetitions of an element.
An iterator adaptor that steps a number elements in the base iterator for each iteration.
An iterator adaptor that borrows from a Clone
-able iterator
to only pick off elements while the predicate returns true
.
One half of an iterator pair where both return the same elements.
An iterator over a incomplete tuple.
An iterator to iterate through all combinations in a Clone
-able iterator that produces tuples
of a specific size.
An iterator over all contiguous windows that produces tuples of a specific size.
An iterator that groups the items in tuples of a specific size.
An iterator adapter to filter out duplicate elements.
An iterator adapter to filter out duplicate elements.
An iterator adapter to apply a mutating function to each element before yielding it.
An iterator adaptor that filters Option<A>
iterator elements
and produces A
. Stops on the first None
encountered.
An iterator adaptor that wraps each element in an Position
.
An iterator which iterates two other iterators simultaneously
An iterator which iterates two other iterators simultaneously
Type Definitions
An iterator adaptor that may join together adjacent elements.
An iterator adaptor that removes repeated duplicates.
An iterator adaptor that removes repeated duplicates, determining equality using a comparison function.
An iterator adaptor that removes repeated duplicates, while keeping a count of how many repeated elements were present. This will determine equality using a comparison function.
An iterator adaptor that removes repeated duplicates, while keeping a count of how many repeated elements were present.
An iterator adapter to filter out duplicate elements.
An iterator adapter to filter for duplicate elements.
GroupingMapBy
is an intermediate struct for efficient group-and-fold operations.
An iterator adaptor to insert a particular value between each element of the adapted iterator.
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.
An iterator adapter to apply Into
conversion to each element.
An iterator adapter to apply a transformation within a nested Result::Ok
.
See MapOk
.
An iterator adaptor that merges the two base iterators in ascending order. If both base iterators are sorted (ascending), the result is sorted.