Crate 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.
Re-exports
pub use structs::*; |
Modules
structs |
The concrete iterator types. |
Macros
iproduct |
Create an iterator over the “cartesian product” of iterators. |
izip |
Create an iterator running multiple iterators in lockstep. |
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 |
flatten |
Flatten an iterable of iterables into a single combined sequence of all the elements in the iterables. |
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 |