Module indigo::iter [−][src]
Iterator utilities.
Modules
__std_iter | Composable external iteration. |
structs | The concrete iterator types. |
traits | Traits helpful for using certain |
Macros
iproduct | Create an iterator over the “cartesian product” of iterators. |
izip | Create an iterator running multiple iterators in lockstep. |
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 |
CombinationsWithReplacement | An iterator to iterate through all the |
ConsTuples | An iterator that maps an iterator of tuples like
|
DedupBy | An iterator adaptor that removes repeated duplicates, determining equality using a comparison function. |
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 | Experimental An iterator adapter that places a separator between all elements. |
IntersperseWith | Experimental An iterator adapter that places a separator between all elements. |
IntoChunks |
|
KMergeBy | An iterator adaptor that merges an abitrary number of base iterators according to an ordering function. |
MapInto | An iterator adapter to apply |
MapResults | An iterator adapter to apply a transformation within a nested |
MapWhile | Experimental An iterator that only accepts elements while |
Chain | An iterator that links two iterators together, in a chain. |
Cloned | An iterator that clones the elements of an underlying iterator. |
Copied | An iterator that copies the elements of an underlying iterator. |
Cycle | An iterator that repeats endlessly. |
Empty | An iterator that yields nothing. |
Enumerate | An iterator that yields the current count and the element during iteration. |
ExactlyOneError | Iterator returned for the error case of |
Filter | An iterator that filters the elements of |
FilterMap | An iterator that uses |
FlatMap | An iterator that maps each element to an iterator, and yields the elements of the produced iterators. |
Flatten | An iterator that flattens one level of nesting in an iterator of things that can be turned into iterators. |
Format | Format all iterator elements lazily, separated by |
FormatWith | Format all iterator elements lazily, separated by |
FromFn | An iterator where each iteration calls the provided closure |
Fuse | An iterator that yields |
Inspect | An iterator that calls a function with a reference to each element before yielding it. |
Intersperse | An iterator adaptor to insert a particular value between each element of the adapted iterator. |
Iterate | An iterator that infinitely applies function to value and yields results. |
Map | An iterator that maps the values of |
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 |
MultiProduct | An iterator adaptor that iterates over the cartesian product of
multiple iterators of type |
Once | An iterator that yields an element exactly once. |
OnceWith | An iterator that yields a single element of type |
PadUsing | An iterator adaptor that pads a sequence to a minimum length by filling missing elements using a closure. |
Peekable | An iterator with a |
PeekingTakeWhile | An iterator adaptor that takes items while a closure returns |
Permutations | An iterator adaptor that iterates through all the |
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 |
Repeat | An iterator that repeats an element endlessly. |
RepeatCall | Deprecated See |
RepeatN | An iterator that produces n repetitions of an element. |
RepeatWith | An iterator that repeats elements of type |
Rev | A double-ended iterator with the direction inverted. |
Scan | An iterator to maintain state while iterating another iterator. |
Skip | An iterator that skips over |
SkipWhile | An iterator that rejects elements while |
Step | Deprecated An iterator adaptor that steps a number elements in the base iterator for each iteration. |
StepBy | An iterator for stepping iterators by a custom amount. |
Successors | An new iterator where each successive item is computed based on the preceding one. |
Take | An iterator that only iterates over the first |
TakeWhile | An iterator that only accepts elements while |
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 |
Zip | An iterator that iterates two other iterators simultaneously. |
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
InPlaceIterable | Experimental An iterator that when yielding an item will have taken at least one element
from its underlying |
Itertools | An |
PeekingNext | An iterator that allows peeking at an element before deciding to accept it. |
SourceIter | Experimental This trait provides transitive access to source-stage in an interator-adapter pipeline under the conditions that |
Step | Experimental Objects that have a notion of successor and predecessor operations. |
TrustedLen | Experimental An iterator that reports an accurate length using size_hint. |
DoubleEndedIterator | An iterator able to yield elements from both ends. |
ExactSizeIterator | An iterator that knows its exact length. |
Extend | Extend a collection with the contents of an iterator. |
FromIterator | Conversion from an |
FusedIterator | An iterator that always continues to yield |
IntoIterator | Conversion into an |
Iterator | An interface for dealing with iterators. |
Product | Trait to represent types that can be created by multiplying elements of an iterator. |
Sum | Trait to represent types that can be created by summing up an iterator. |
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 |
empty | Creates an iterator that yields nothing. |
enumerate | Iterate |
equal | Return |
fold | Perform a fold operation over the iterable. |
from_fn | Creates a new iterator where each iteration calls the provided closure
|
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. |
once | Creates an iterator that yields an element exactly once. |
once_with | Creates an iterator that lazily generates a value exactly once by invoking the provided closure. |
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 | Creates a new iterator that endlessly repeats a single element. |
repeat_call | Deprecated An iterator source that produces elements indefinitely by calling a given closure. |
repeat_n | Create an iterator that produces |
repeat_with | Creates a new iterator that repeats elements of type |
rev | Iterate |
sorted | Sort all iterator elements into a new iterator in ascending order. |
successors | Creates a new iterator where each successive item is computed based on the preceding one. |
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 |
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. |