Expand description
§Module :: iter_tools
Collection of general purpose tools to iterate. Currently it simply reexports itertools.
§Basic use-case
  use iter_tools::*;
  /* standard functions */
  let vec = vec![ 5, 1, -2 ];
  let min = min( &vec );
  assert_eq!( *min.unwrap(), -2 );
  /* non standard functions */
  let vec = vec![ 5, 1, -2 ];
  let added = vec![ "a", "b", "c" ];
  let mut result = vec![];
  let zipped = zip( &vec, &added );
  for ( left, right ) in zipped
  {
    result.push( ( *left, *right ) );
  }
  assert_eq!( result, vec![ ( 5, "a" ), ( 1, "b" ), ( -2, "c" ) ] );§To add to your project
cargo add iter_tools§Try out from the repository
git clone https://github.com/Wandalen/wTools
cd wTools
cd examples/iter_tools_trivial
cargo run§Try out from the repository
git clone https://github.com/Wandalen/wTools
cd wTools
cd examples/iter_tools_trivial
cargo runModules§
- dependency
- Namespace with dependencies.
- exposed
- Exposed namespace of the module.
- iter
- Core module.
- orphan
- Orphan namespace of the module.
- own
- Own namespace of the module.
- prelude
- Prelude to use essentials: use my_module ::prelude :: *.
Macros§
Enums§
- Diff
- A type returned by the diff_withfunction.
- Either
- The enum Eitherwith variantsLeftandRightis a general purpose sum type with two cases.
- EitherOrBoth 
- Value that either holds a single A or B, or both.
- FoldWhile 
- An enum used for controlling the execution of fold_while.
- MinMaxResult 
- MinMaxResultis an enum returned by- minmax.
- Position
- The first component of the value yielded by WithPosition. Indicates the position of this element in the iterator results.
Traits§
- IterExt
- Extension of iterator.
- IterTrait 
- Trait that encapsulates a clonable iterator with specific characteristics, tailored for use with the syncrate.
- Itertools
- An Iteratorblanket implementation that provides extra adaptors and methods.
- PeekingNext 
- An iterator that allows peeking at an element before deciding to accept it.
- _IterTrait 
- Trait that encapsulates an iterator with specific characteristics and implemetning CloneDyn.
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
- Takes two iterables and creates a new iterator over both in sequence.
- cloned
- Create an iterator that clones each element from &T to T
- concat
- Combine all an iterator’s elements into one element by using Extend.
- cons_tuples 
- Create an iterator that maps for example iterators of
((A, B), C)to(A, B, C).
- diff_with 
- Compares every element yielded by both iandjwith the given function in lock-step and returns aDiffwhich describes howjdiffers fromi.
- enumerate
- Iterate iterablewith a running index.
- equal
- Return trueif both iterables produce equal sequences (elements pairwise equal and sequences of the same length),falseotherwise.
- fold
- Perform a fold operation over the iterable.
- interleave
- Create an iterator that interleaves elements in iandj.
- intersperse
- Iterate iterablewith a particular value inserted between each element.
- intersperse_with 
- Iterate iterablewith a particular value created by a function inserted between each element.
- iterate
- Creates a new iterator that infinitely applies function to value and yields results.
- join
- Combine all iterator elements into one String, separated by sep.
- 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 iandj.
- 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 .next()values without advancing the base iterator.
- multiunzip
- Converts an iterator of tuples into a tuple of containers.
- multizip
- An iterator that generalizes .zip() and allows running multiple iterators in lockstep.
- partition
- Partition a sequence using predicate predso that elements that map totrueare placed before elements which map tofalse.
- peek_nth 
- A drop-in replacement for std::iter::Peekablewhich adds apeek_nthmethod allowing the user topeekat a value several iterations forward without advancing the base iterator.
- process_results 
- “Lift” a function of the values of an iterator so that it can process
an iterator of Resultvalues instead.
- 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 Rc<RefCell<_>>wrapper.
- repeat_n 
- Create an iterator that produces nrepetitions ofelement.
- rev
- Iterate iterablein reverse.
- sorted
- Sort all iterator elements into a new iterator 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
- Converts the arguments to iterators and zips them.
- zip_eq
- Iterate iandjin lock step.
Type Aliases§
- BoxedIter 
- Type alias for boxed _IterTraittrait objects.