Trait Product

1.12.0 ยท Source
pub trait Product<A = Self>: Sized {
    // Required method
    fn product<I>(iter: I) -> Self
       where I: Iterator<Item = A>;
}
Expand description

Trait to represent types that can be created by multiplying elements of an iterator.

This trait is used to implement Iterator::product(). Types which implement this trait can be generated by using the product() method on an iterator. Like FromIterator, this trait should rarely be called directly.

Required Methodsยง

1.12.0 ยท Source

fn product<I>(iter: I) -> Self
where I: Iterator<Item = A>,

Takes an iterator and generates Self from the elements by multiplying the items.

Dyn Compatibilityยง

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementorsยง

1.12.0 ยท Sourceยง

impl Product for f32

1.12.0 ยท Sourceยง

impl Product for f64

1.12.0 ยท Sourceยง

impl Product for i8

1.12.0 ยท Sourceยง

impl Product for i16

1.12.0 ยท Sourceยง

impl Product for i32

1.12.0 ยท Sourceยง

impl Product for i64

1.12.0 ยท Sourceยง

impl Product for i128

1.12.0 ยท Sourceยง

impl Product for isize

1.12.0 ยท Sourceยง

impl Product for u8

1.12.0 ยท Sourceยง

impl Product for u16

1.12.0 ยท Sourceยง

impl Product for u32

1.12.0 ยท Sourceยง

impl Product for u64

1.12.0 ยท Sourceยง

impl Product for u128

1.12.0 ยท Sourceยง

impl Product for usize

1.14.0 ยท Sourceยง

impl Product for Wrapping<i8>

1.14.0 ยท Sourceยง

impl Product for Wrapping<i16>

1.14.0 ยท Sourceยง

impl Product for Wrapping<i32>

1.14.0 ยท Sourceยง

impl Product for Wrapping<i64>

1.14.0 ยท Sourceยง

impl Product for Wrapping<i128>

1.14.0 ยท Sourceยง

impl Product for Wrapping<isize>

1.14.0 ยท Sourceยง

impl Product for Wrapping<u8>

1.14.0 ยท Sourceยง

impl Product for Wrapping<u16>

1.14.0 ยท Sourceยง

impl Product for Wrapping<u32>

1.14.0 ยท Sourceยง

impl Product for Wrapping<u64>

1.14.0 ยท Sourceยง

impl Product for Wrapping<u128>

1.14.0 ยท Sourceยง

impl Product for Wrapping<usize>

1.12.0 ยท Sourceยง

impl<'a> Product<&'a f32> for f32

1.12.0 ยท Sourceยง

impl<'a> Product<&'a f64> for f64

1.12.0 ยท Sourceยง

impl<'a> Product<&'a i8> for i8

1.12.0 ยท Sourceยง

impl<'a> Product<&'a i16> for i16

1.12.0 ยท Sourceยง

impl<'a> Product<&'a i32> for i32

1.12.0 ยท Sourceยง

impl<'a> Product<&'a i64> for i64

1.12.0 ยท Sourceยง

impl<'a> Product<&'a i128> for i128

1.12.0 ยท Sourceยง

impl<'a> Product<&'a isize> for isize

1.12.0 ยท Sourceยง

impl<'a> Product<&'a u8> for u8

1.12.0 ยท Sourceยง

impl<'a> Product<&'a u16> for u16

1.12.0 ยท Sourceยง

impl<'a> Product<&'a u32> for u32

1.12.0 ยท Sourceยง

impl<'a> Product<&'a u64> for u64

1.12.0 ยท Sourceยง

impl<'a> Product<&'a u128> for u128

1.12.0 ยท Sourceยง

impl<'a> Product<&'a usize> for usize

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<i8>> for Wrapping<i8>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<i16>> for Wrapping<i16>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<i32>> for Wrapping<i32>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<i64>> for Wrapping<i64>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<i128>> for Wrapping<i128>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<isize>> for Wrapping<isize>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<u8>> for Wrapping<u8>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<u16>> for Wrapping<u16>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<u32>> for Wrapping<u32>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<u64>> for Wrapping<u64>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<u128>> for Wrapping<u128>

1.14.0 ยท Sourceยง

impl<'a> Product<&'a Wrapping<usize>> for Wrapping<usize>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<f32, N>> for Simd<f32, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<f64, N>> for Simd<f64, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<i8, N>> for Simd<i8, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<i16, N>> for Simd<i16, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<i32, N>> for Simd<i32, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<i64, N>> for Simd<i64, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<isize, N>> for Simd<isize, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<u8, N>> for Simd<u8, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<u16, N>> for Simd<u16, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<u32, N>> for Simd<u32, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<u64, N>> for Simd<u64, N>

Sourceยง

impl<'a, const N: usize> Product<&'a Simd<usize, N>> for Simd<usize, N>

1.37.0 ยท Sourceยง

impl<T, U> Product<Option<U>> for Option<T>
where T: Product<U>,

1.16.0 ยท Sourceยง

impl<T, U, E> Product<Result<U, E>> for Result<T, E>
where T: Product<U>,

Sourceยง

impl<const N: usize> Product for Simd<f32, N>

Sourceยง

impl<const N: usize> Product for Simd<f64, N>

Sourceยง

impl<const N: usize> Product for Simd<i8, N>

Sourceยง

impl<const N: usize> Product for Simd<i16, N>

Sourceยง

impl<const N: usize> Product for Simd<i32, N>

Sourceยง

impl<const N: usize> Product for Simd<i64, N>

Sourceยง

impl<const N: usize> Product for Simd<isize, N>

Sourceยง

impl<const N: usize> Product for Simd<u8, N>

Sourceยง

impl<const N: usize> Product for Simd<u16, N>

Sourceยง

impl<const N: usize> Product for Simd<u32, N>

Sourceยง

impl<const N: usize> Product for Simd<u64, N>

Sourceยง

impl<const N: usize> Product for Simd<usize, N>