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 DMat2

Source§

impl Sum for DMat3

Source§

impl Sum for DMat4

Source§

impl Sum for DQuat

Source§

impl Sum for DVec2

Source§

impl Sum for DVec3

Source§

impl Sum for DVec4

Source§

impl Sum for I16Vec2

Source§

impl Sum for I16Vec3

Source§

impl Sum for I16Vec4

Source§

impl Sum for I64Vec2

Source§

impl Sum for I64Vec3

Source§

impl Sum for I64Vec4

Source§

impl Sum for IVec2

Source§

impl Sum for IVec3

Source§

impl Sum for IVec4

Source§

impl Sum for Mat2

Source§

impl Sum for Mat3

Source§

impl Sum for Mat3A

Source§

impl Sum for Mat4

Source§

impl Sum for Quat

Source§

impl Sum for U16Vec2

Source§

impl Sum for U16Vec3

Source§

impl Sum for U16Vec4

Source§

impl Sum for U64Vec2

Source§

impl Sum for U64Vec3

Source§

impl Sum for U64Vec4

Source§

impl Sum for UVec2

Source§

impl Sum for UVec3

Source§

impl Sum for UVec4

Source§

impl Sum for Vec2

Source§

impl Sum for Vec3

Source§

impl Sum for Vec3A

Source§

impl Sum for Vec4

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>

1.16.0 · Source§

impl Sum for Duration

Source§

impl Sum for bf16

Source§

impl Sum for f16

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 DMat2> for DMat2

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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>

1.16.0 · Source§

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

Source§

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

Source§

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

Source§

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

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<T> Sum for Ratio<T>
where T: Integer + Clone,

Source§

impl<T> Sum for Gray_v08<T>
where T: Default + Add<Output = T>,

Source§

impl<T> Sum for Grb<T>
where T: Default + Add<Output = T>,

Source§

impl<T> Sum for Rgb<T>
where T: Default + Add<Output = T>,

Source§

impl<T> Sum<T> for BigInt
where BigInt: Add<T, Output = BigInt>,

Source§

impl<T> Sum<T> for BigUint
where BigUint: Add<T, Output = BigUint>,

Source§

impl<T, A> Sum for Argb<T, A>
where T: Default + Add<Output = T>, A: Default + Add<Output = A>,

Source§

impl<T, A> Sum for GrayAlpha_v08<T, A>
where T: Default + Add<Output = T>, A: Default + Add<Output = A>,

Source§

impl<T, A> Sum for Rgba<T, A>
where T: Default + Add<Output = T>, A: Default + Add<Output = A>,

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>