Trait std::iter::MultiplicativeIteratorUnstable
[-] [+]
[src]
pub trait MultiplicativeIterator<A> { fn product(self) -> A; }
A trait for iterators over elements which can be multiplied together.
Required Methods
fn product(self) -> A
Iterates over the entire iterator, multiplying all the elements
Examples
fn main() { use std::iter::{count, MultiplicativeIterator}; fn factorial(n: usize) -> usize { count(1, 1).take_while(|&i| i <= n).product() } assert!(factorial(0) == 1); assert!(factorial(1) == 1); assert!(factorial(5) == 120); }use std::iter::{count, MultiplicativeIterator}; fn factorial(n: usize) -> usize { count(1, 1).take_while(|&i| i <= n).product() } assert!(factorial(0) == 1); assert!(factorial(1) == 1); assert!(factorial(5) == 120);
Implementors
impl<T> MultiplicativeIterator<i8> for T where T: Iterator, <T as Iterator>::Item == i8
impl<T> MultiplicativeIterator<i16> for T where T: Iterator, <T as Iterator>::Item == i16
impl<T> MultiplicativeIterator<i32> for T where T: Iterator, <T as Iterator>::Item == i32
impl<T> MultiplicativeIterator<i64> for T where T: Iterator, <T as Iterator>::Item == i64
impl<T> MultiplicativeIterator<isize> for T where T: Iterator, <T as Iterator>::Item == isize
impl<T> MultiplicativeIterator<u8> for T where T: Iterator, <T as Iterator>::Item == u8
impl<T> MultiplicativeIterator<u16> for T where T: Iterator, <T as Iterator>::Item == u16
impl<T> MultiplicativeIterator<u32> for T where T: Iterator, <T as Iterator>::Item == u32
impl<T> MultiplicativeIterator<u64> for T where T: Iterator, <T as Iterator>::Item == u64
impl<T> MultiplicativeIterator<usize> for T where T: Iterator, <T as Iterator>::Item == usize
impl<T> MultiplicativeIterator<f32> for T where T: Iterator, <T as Iterator>::Item == f32
impl<T> MultiplicativeIterator<f64> for T where T: Iterator, <T as Iterator>::Item == f64