1.0.0[][src]Function nom::lib::std::iter::repeat

Important traits for Repeat<A>
pub fn repeat<T>(elt: T) -> Repeat<T> where
    T: Clone

Creates a new iterator that endlessly repeats a single element.

The repeat() function repeats a single value over and over again.

Infinite iterators like repeat() are often used with adapters like take, in order to make them finite.

If the element type of the iterator you need does not implement Clone, or if you do not want to keep the repeated element in memory, you can instead use the repeat_with function.

Examples

Basic usage:

use std::iter;

// the number four 4ever:
let mut fours = iter::repeat(4);

assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());
assert_eq!(Some(4), fours.next());

// yup, still four
assert_eq!(Some(4), fours.next());

Going finite with take:

use std::iter;

// that last example was too many fours. Let's only have four fours.
let mut four_fours = iter::repeat(4).take(4);

assert_eq!(Some(4), four_fours.next());
assert_eq!(Some(4), four_fours.next());
assert_eq!(Some(4), four_fours.next());
assert_eq!(Some(4), four_fours.next());

// ... and now we're done
assert_eq!(None, four_fours.next());