Trait core::iter::traits::accum::Sum

1.12.0 · source ·
pub trait Sum<A = Self>: Sized {
    // Required method
    fn sum<I: Iterator<Item = A>>(iter: I) -> Self;
}
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§

source

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

Method which takes an iterator and generates Self from the elements by “summing up” the items.

Implementors§

source§

impl Sum<f32> for f32

source§

impl Sum<f64> for f64

source§

impl Sum<i8> for i8

source§

impl Sum<i16> for i16

source§

impl Sum<i32> for i32

source§

impl Sum<i64> for i64

source§

impl Sum<i128> for i128

source§

impl Sum<isize> for isize

source§

impl Sum<u8> for u8

source§

impl Sum<u16> for u16

source§

impl Sum<u32> for u32

source§

impl Sum<u64> for u64

source§

impl Sum<u128> for u128

source§

impl Sum<usize> for usize

1.14.0 · source§

impl Sum<Wrapping<i8>> for Wrapping<i8>

1.14.0 · source§

impl Sum<Wrapping<i16>> for Wrapping<i16>

1.14.0 · source§

impl Sum<Wrapping<i32>> for Wrapping<i32>

1.14.0 · source§

impl Sum<Wrapping<i64>> for Wrapping<i64>

1.14.0 · source§

impl Sum<Wrapping<i128>> for Wrapping<i128>

1.14.0 · source§

impl Sum<Wrapping<isize>> for Wrapping<isize>

1.14.0 · source§

impl Sum<Wrapping<u8>> for Wrapping<u8>

1.14.0 · source§

impl Sum<Wrapping<u16>> for Wrapping<u16>

1.14.0 · source§

impl Sum<Wrapping<u32>> for Wrapping<u32>

1.14.0 · source§

impl Sum<Wrapping<u64>> for Wrapping<u64>

1.14.0 · source§

impl Sum<Wrapping<u128>> for Wrapping<u128>

1.14.0 · source§

impl Sum<Wrapping<usize>> for Wrapping<usize>

1.16.0 · source§

impl Sum<Duration> for Duration

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

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, const LANES: usize> Sum<&'a Simd<f32, LANES>> for Simd<f32, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<f64, LANES>> for Simd<f64, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<i8, LANES>> for Simd<i8, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<i16, LANES>> for Simd<i16, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<i32, LANES>> for Simd<i32, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<i64, LANES>> for Simd<i64, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<isize, LANES>> for Simd<isize, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<u8, LANES>> for Simd<u8, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<u16, LANES>> for Simd<u16, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<u32, LANES>> for Simd<u32, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<u64, LANES>> for Simd<u64, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<'a, const LANES: usize> Sum<&'a Simd<usize, LANES>> for Simd<usize, LANES>where LaneCount<LANES>: SupportedLaneCount,

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 LANES: usize> Sum<Simd<f32, LANES>> for Simd<f32, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<f64, LANES>> for Simd<f64, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<i8, LANES>> for Simd<i8, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<i16, LANES>> for Simd<i16, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<i32, LANES>> for Simd<i32, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<i64, LANES>> for Simd<i64, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<isize, LANES>> for Simd<isize, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<u8, LANES>> for Simd<u8, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<u16, LANES>> for Simd<u16, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<u32, LANES>> for Simd<u32, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<u64, LANES>> for Simd<u64, LANES>where LaneCount<LANES>: SupportedLaneCount,

source§

impl<const LANES: usize> Sum<Simd<usize, LANES>> for Simd<usize, LANES>where LaneCount<LANES>: SupportedLaneCount,