Add a to_owned_vec method to IteratorUtil.

This commit is contained in:
Michael Sullivan 2013-07-19 17:21:28 -07:00
parent 89c4af0ea9
commit 4b9759e20f

View file

@ -333,6 +333,18 @@ pub trait IteratorUtil<A> {
/// ~~~
fn collect<B: FromIterator<A, Self>>(&mut self) -> B;
/// Loops through the entire iterator, collecting all of the elements into
/// a unique vector. This is simply collect() specialized for vectors.
///
/// # Example
///
/// ~~~ {.rust}
/// let a = [1, 2, 3, 4, 5];
/// let b: ~[int] = a.iter().transform(|&x| x).to_owned_vec();
/// assert!(a == b);
/// ~~~
fn to_owned_vec(&mut self) -> ~[A];
/// Loops through `n` iterations, returning the `n`th element of the
/// iterator.
///
@ -529,6 +541,11 @@ impl<A, T: Iterator<A>> IteratorUtil<A> for T {
FromIterator::from_iterator(self)
}
#[inline]
fn to_owned_vec(&mut self) -> ~[A] {
self.collect()
}
/// Return the `n`th item yielded by an iterator.
#[inline]
fn nth(&mut self, mut n: uint) -> Option<A> {