Module stdcli::prelude::itertools
[−]
[src]
Itertools — extra iterator adaptors, functions and macros.
To use the iterator methods in this crate, import the Itertools
trait:
use itertools::Itertools;
Crate Features
use_std
- Enabled by default.
- Disable to compile itertools using
#![no_std]
. This disables any items that depend on collections (likegroup_by
,unique
,kmerge
,join
and many more).
Rust Version
This version of itertools requires Rust 1.12 or later.
Modules
__std_iter |
Composable external iteration. |
structs |
The concrete iterator types. |
Structs
Batching |
A “meta iterator adaptor”. Its closure recives 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 |
ConsTuples |
An iterator that maps an iterator of tuples like
|
Dedup |
An iterator adaptor that removes repeated duplicates. |
Flatten |
An iterator adapter to simply flatten a structure. |
Format |
Format all iterator elements lazily, separated by |
FormatWith |
Format all iterator elements lazily, separated by |
Group |
An iterator for the elements in a single group. |
GroupBy |
|
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 |
|
Iterate |
An iterator that infinitely applies function to value and yields results. |
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. |
KMergeBy |
An iterator adaptor that merges an abitrary number of base iterators according to an ordering function. |
MapResults |
An iterator adapter to apply a transformation within a nested |
Merge |
An iterator adaptor that merges the two base iterators in ascending order. If both base iterators are sorted (ascending), the result is sorted. |
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 |
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 |
Positions |
An iterator adapter to get the positions of each element that matches a predicate. |
ProcessResults |
An iterator that produces only the |
Product |
An iterator adaptor that iterates over the cartesian product of
the element sets of two iterators |
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 |
RepeatCall |
See |
RepeatN |
An iterator that produces n repetitions of an element. |
Step |
An iterator adaptor that steps a number elements in the base iterator for each iteration. |
TakeWhileRef |
An iterator adaptor that borrows from a |
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 |
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 |
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 |
WithPosition |
An iterator adaptor that wraps each element in an |
Zip |
See |
ZipEq |
An iterator which iterates two other iterators simultaneously |
ZipLongest |
An iterator which iterates two other iterators simultaneously |
Enums
Diff |
A type returned by the |
Either |
The enum |
EitherOrBoth |
Value that either holds a single A or B, or both. |
FoldWhile |
An enum used for controlling the execution of |
MinMaxResult |
|
Position |
A value yielded by |
Traits
Itertools |
The trait |
PeekingNext |
An iterator that allows peeking at an element before deciding to accept it. |
Functions
all |
Test whether the predicate holds for all elements in the iterable. |
any |
Test whether the predicate holds for any elements in the iterable. |
assert_equal |
Assert that two iterables produce equal sequences, with the same semantics as equal(a, b). |
chain |
Create an iterator that first iterates |
cloned |
Create an iterator that clones each element from &T to T |
concat |
Combine all an iterator's elements into one element by using |
cons_tuples |
Create an iterator that maps for example iterators of
|
diff_with |
Compares every element yielded by both |
enumerate |
Iterate |
equal |
Return |
fold |
Perform a fold operation over the iterable. |
interleave |
Create an iterator that interleaves elements in |
iterate |
Creates a new iterator that infinitely applies function to value and yields results. |
join |
Combine all iterator elements into one String, seperated by |
kmerge |
Create an iterator that merges elements of the contained iterators using the ordering function. |
kmerge_by |
Create an iterator that merges elements of the contained iterators. |
max |
Return the maximum value of the iterable. |
merge |
Create an iterator that merges elements in |
merge_join_by |
Return an iterator adaptor that merge-joins items from the two base iterators in ascending order. |
min |
Return the minimum value of the iterable. |
multipeek |
An iterator adaptor that allows the user to peek at multiple |
multizip |
An iterator that generalizes .zip() and allows running multiple iterators in lockstep. |
partition |
Partition a sequence using predicate |
process_results |
“Lift” a function of the values of an iterator so that it can process
an iterator of |
put_back |
Create an iterator where you can put back a single item |
put_back_n |
Create an iterator where you can put back multiple values to the front of the iteration. |
rciter |
Return an iterator inside a |
repeat_call |
An iterator source that produces elements indefinitely by calling a given closure. |
repeat_n |
Create an iterator that produces |
rev |
Iterate |
sorted |
Collect all the iterable's elements into a sorted vector in ascending order. |
unfold |
Creates a new unfold source with the specified closure as the "iterator function" and an initial state to eventually pass to the closure |
zip |
Iterate |
zip_eq |
Iterate |