On this page
Trait std::iter::Sum
pub trait Sum<A = Self>: Sized {
// Required method
fn sum<I>(iter: I) -> Self
where I: Iterator<Item = A>;
}
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
fn sum<I>(iter: I) -> Self
where
I: Iterator<Item = A>,
Method which takes an iterator and generates Self
from the elements by “summing up” the items.
Object Safety
This trait is not object safe.
Implementors
impl Sum for f32
impl Sum for f64
impl Sum for i8
impl Sum for i16
impl Sum for i32
impl Sum for i64
impl Sum for i128
impl Sum for isize
impl Sum for u8
impl Sum for u16
impl Sum for u32
impl Sum for u64
impl Sum for u128
impl Sum for usize
impl Sum for Wrapping<i8>
impl Sum for Wrapping<i16>
impl Sum for Wrapping<i32>
impl Sum for Wrapping<i64>
impl Sum for Wrapping<i128>
impl Sum for Wrapping<isize>
impl Sum for Wrapping<u8>
impl Sum for Wrapping<u16>
impl Sum for Wrapping<u32>
impl Sum for Wrapping<u64>
impl Sum for Wrapping<u128>
impl Sum for Wrapping<usize>
impl Sum for Duration
impl<'a> Sum<&'a f32> for f32
impl<'a> Sum<&'a f64> for f64
impl<'a> Sum<&'a i8> for i8
impl<'a> Sum<&'a i16> for i16
impl<'a> Sum<&'a i32> for i32
impl<'a> Sum<&'a i64> for i64
impl<'a> Sum<&'a i128> for i128
impl<'a> Sum<&'a isize> for isize
impl<'a> Sum<&'a u8> for u8
impl<'a> Sum<&'a u16> for u16
impl<'a> Sum<&'a u32> for u32
impl<'a> Sum<&'a u64> for u64
impl<'a> Sum<&'a u128> for u128
impl<'a> Sum<&'a usize> for usize
impl<'a> Sum<&'a Wrapping<i8>> for Wrapping<i8>
impl<'a> Sum<&'a Wrapping<i16>> for Wrapping<i16>
impl<'a> Sum<&'a Wrapping<i32>> for Wrapping<i32>
impl<'a> Sum<&'a Wrapping<i64>> for Wrapping<i64>
impl<'a> Sum<&'a Wrapping<i128>> for Wrapping<i128>
impl<'a> Sum<&'a Wrapping<isize>> for Wrapping<isize>
impl<'a> Sum<&'a Wrapping<u8>> for Wrapping<u8>
impl<'a> Sum<&'a Wrapping<u16>> for Wrapping<u16>
impl<'a> Sum<&'a Wrapping<u32>> for Wrapping<u32>
impl<'a> Sum<&'a Wrapping<u64>> for Wrapping<u64>
impl<'a> Sum<&'a Wrapping<u128>> for Wrapping<u128>
impl<'a> Sum<&'a Wrapping<usize>> for Wrapping<usize>
impl<'a> Sum<&'a Duration> for Duration
impl<'a, const LANES: usize> Sum<&'a Simd<f32, LANES>> for Simd<f32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<f64, LANES>> for Simd<f64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<i8, LANES>> for Simd<i8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<i16, LANES>> for Simd<i16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<i32, LANES>> for Simd<i32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<i64, LANES>> for Simd<i64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<isize, LANES>> for Simd<isize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<u8, LANES>> for Simd<u8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<u16, LANES>> for Simd<u16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<u32, LANES>> for Simd<u32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<u64, LANES>> for Simd<u64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<'a, const LANES: usize> Sum<&'a Simd<usize, LANES>> for Simd<usize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<T, U> Sum<Option<U>> for Option<T>
where
T: Sum<U>,
impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
where
T: Sum<U>,
impl<const LANES: usize> Sum for Simd<f32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<f64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<i8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<i16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<i32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<i64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<isize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<u8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<u16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<u32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<u64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
impl<const LANES: usize> Sum for Simd<usize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/iter/trait.Sum.html