Trait Sum

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

Trait to represent types that can be created by summing up an iterator.

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

Required Methods§

1.12.0 · Source

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

Takes an iterator and generates Self from the elements by “summing up” 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 Sum for f32

1.12.0 · Source§

impl Sum for f64

1.12.0 · Source§

impl Sum for i8

1.12.0 · Source§

impl Sum for i16

1.12.0 · Source§

impl Sum for i32

1.12.0 · Source§

impl Sum for i64

1.12.0 · Source§

impl Sum for i128

1.12.0 · Source§

impl Sum for isize

1.12.0 · Source§

impl Sum for u8

1.12.0 · Source§

impl Sum for u16

1.12.0 · Source§

impl Sum for u32

1.12.0 · Source§

impl Sum for u64

1.12.0 · Source§

impl Sum for u128

1.12.0 · Source§

impl Sum for usize

Source§

impl Sum for f16

1.16.0 · Source§

impl Sum for Duration

1.14.0 · Source§

impl Sum for Wrapping<i8>

1.14.0 · Source§

impl Sum for Wrapping<i16>

1.14.0 · Source§

impl Sum for Wrapping<i32>

1.14.0 · Source§

impl Sum for Wrapping<i64>

1.14.0 · Source§

impl Sum for Wrapping<i128>

1.14.0 · Source§

impl Sum for Wrapping<isize>

1.14.0 · Source§

impl Sum for Wrapping<u8>

1.14.0 · Source§

impl Sum for Wrapping<u16>

1.14.0 · Source§

impl Sum for Wrapping<u32>

1.14.0 · Source§

impl Sum for Wrapping<u64>

1.14.0 · Source§

impl Sum for Wrapping<u128>

1.14.0 · Source§

impl Sum for Wrapping<usize>

Source§

impl Sum for bf16

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

1.12.0 · Source§

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

Source§

impl<'a> Sum<&'a f16> for f16

1.16.0 · Source§

impl<'a> Sum<&'a Duration> for Duration

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

Source§

impl<'a> Sum<&'a bf16> for bf16

Source§

impl<'a, T> Sum<&'a Complex<T>> for Complex<T>
where T: 'a + Num + Clone,

Source§

impl<'a, T> Sum<&'a Ratio<T>> for Ratio<T>
where T: Integer + Clone,

Source§

impl<'a, T, C> Sum<&'a Matrix<T, Dyn, C, <DefaultAllocator as Allocator<Dyn, C>>::Buffer<T>>> for Matrix<T, Dyn, C, <DefaultAllocator as Allocator<Dyn, C>>::Buffer<T>>

Source§

impl<'a, T, R, C> Sum<&'a Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>> for Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<RHS> Sum<RHS> for f32x4
where f32x4: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for f64x2
where f64x2: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for f64x4
where f64x4: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i8x16
where i8x16: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i8x32
where i8x32: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i16x8
where i16x8: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i16x16
where i16x16: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i32x4
where i32x4: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i32x8
where i32x8: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i64x2
where i64x2: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for i64x4
where i64x4: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for u8x16
where u8x16: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for u16x8
where u16x8: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for u16x16
where u16x16: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for u32x4
where u32x4: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for u32x8
where u32x8: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for u64x2
where u64x2: AddAssign<RHS>,

Source§

impl<RHS> Sum<RHS> for u64x4
where u64x4: AddAssign<RHS>,

Source§

impl<T> Sum for Complex<T>
where T: Num + Clone,

Source§

impl<T> Sum for Ratio<T>
where T: Integer + Clone,

Source§

impl<T, C> Sum for Matrix<T, Dyn, C, <DefaultAllocator as Allocator<Dyn, C>>::Buffer<T>>

Source§

impl<T, R, C> Sum for Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>

1.37.0 · Source§

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

1.16.0 · Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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