Trait core::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: Iterator<Item=i8>> MultiplicativeIterator<i8> for T
impl<T: Iterator<Item=i16>> MultiplicativeIterator<i16> for T
impl<T: Iterator<Item=i32>> MultiplicativeIterator<i32> for T
impl<T: Iterator<Item=i64>> MultiplicativeIterator<i64> for T
impl<T: Iterator<Item=isize>> MultiplicativeIterator<isize> for T
impl<T: Iterator<Item=u8>> MultiplicativeIterator<u8> for T
impl<T: Iterator<Item=u16>> MultiplicativeIterator<u16> for T
impl<T: Iterator<Item=u32>> MultiplicativeIterator<u32> for T
impl<T: Iterator<Item=u64>> MultiplicativeIterator<u64> for T
impl<T: Iterator<Item=usize>> MultiplicativeIterator<usize> for T
impl<T: Iterator<Item=f32>> MultiplicativeIterator<f32> for T
impl<T: Iterator<Item=f64>> MultiplicativeIterator<f64> for T