std::iter::Sum - Rust (original) (raw)
Trait std::iter::Sum1.12.0 [−] [src]
pub trait Sum<A = Self> {
fn sum(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 the sum method on iterators. Types which implement the trait can be generated by the sum method. LikeFromIterator this trait should rarely be called directly and instead interacted with through Iterator::sum.
`fn sum(iter: I) -> Self where
I: Iterator<Item = A>, `
Method which takes an iterator and generates Self
from the elements by "summing up" the items.
impl<'a> Sum<&'a [f32](../primitive.f32.html)> for [f32](../primitive.f32.html)
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u16](../primitive.u16.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u16](../primitive.u16.html)>
impl Sum<[i32](../primitive.i32.html)> for [i32](../primitive.i32.html)
impl<'a> Sum<&'a [f64](../primitive.f64.html)> for [f64](../primitive.f64.html)
impl<'a> Sum<&'a [u8](../primitive.u8.html)> for [u8](../primitive.u8.html)
impl Sum<[u128](../primitive.u128.html)> for [u128](../primitive.u128.html)
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[usize](../primitive.usize.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[usize](../primitive.usize.html)>
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i32](../primitive.i32.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i32](../primitive.i32.html)>
impl Sum<[i16](../primitive.i16.html)> for [i16](../primitive.i16.html)
impl<'a> Sum<&'a [usize](../primitive.usize.html)> for [usize](../primitive.usize.html)
impl Sum<[usize](../primitive.usize.html)> for [usize](../primitive.usize.html)
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u32](../primitive.u32.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u32](../primitive.u32.html)>
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i64](../primitive.i64.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i64](../primitive.i64.html)>
impl<'a> Sum<&'a [i16](../primitive.i16.html)> for [i16](../primitive.i16.html)
impl<'a> Sum<&'a [u16](../primitive.u16.html)> for [u16](../primitive.u16.html)
impl Sum<[i128](../primitive.i128.html)> for [i128](../primitive.i128.html)
impl Sum<[u8](../primitive.u8.html)> for [u8](../primitive.u8.html)
impl<'a> Sum<&'a [u32](../primitive.u32.html)> for [u32](../primitive.u32.html)
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i8](../primitive.i8.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i8](../primitive.i8.html)>
impl Sum<[isize](../primitive.isize.html)> for [isize](../primitive.isize.html)
impl Sum<[f32](../primitive.f32.html)> for [f32](../primitive.f32.html)
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[isize](../primitive.isize.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[isize](../primitive.isize.html)>
impl Sum<[f64](../primitive.f64.html)> for [f64](../primitive.f64.html)
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i16](../primitive.i16.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i16](../primitive.i16.html)>
impl Sum<[i64](../primitive.i64.html)> for [i64](../primitive.i64.html)
impl Sum<[i8](../primitive.i8.html)> for [i8](../primitive.i8.html)
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u8](../primitive.u8.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u8](../primitive.u8.html)>
impl<'a> Sum<&'a [isize](../primitive.isize.html)> for [isize](../primitive.isize.html)
impl<T, U, E> Sum<[Result](../../std/result/enum.Result.html "enum std::result::Result")<U, E>> for [Result](../../std/result/enum.Result.html "enum std::result::Result")<T, E> where T: [Sum](../../std/iter/trait.Sum.html "trait std::iter::Sum")<U>,
impl<'a> Sum<&'a [i8](../primitive.i8.html)> for [i8](../primitive.i8.html)
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u32](../primitive.u32.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u32](../primitive.u32.html)>
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u8](../primitive.u8.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u8](../primitive.u8.html)>
impl<'a> Sum<&'a [i32](../primitive.i32.html)> for [i32](../primitive.i32.html)
impl Sum<[u64](../primitive.u64.html)> for [u64](../primitive.u64.html)
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u64](../primitive.u64.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u64](../primitive.u64.html)>
impl Sum<[u32](../primitive.u32.html)> for [u32](../primitive.u32.html)
impl<'a> Sum<&'a [i64](../primitive.i64.html)> for [i64](../primitive.i64.html)
impl<'a> Sum<&'a [Duration](../../std/time/struct.Duration.html "struct std::time::Duration")> for [Duration](../../std/time/struct.Duration.html "struct std::time::Duration")
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[isize](../primitive.isize.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[isize](../primitive.isize.html)>
impl Sum<[Duration](../../std/time/struct.Duration.html "struct std::time::Duration")> for [Duration](../../std/time/struct.Duration.html "struct std::time::Duration")
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u128](../primitive.u128.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u128](../primitive.u128.html)>
impl Sum<[u16](../primitive.u16.html)> for [u16](../primitive.u16.html)
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[usize](../primitive.usize.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[usize](../primitive.usize.html)>
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i128](../primitive.i128.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i128](../primitive.i128.html)>
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i64](../primitive.i64.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i64](../primitive.i64.html)>
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i16](../primitive.i16.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i16](../primitive.i16.html)>
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i128](../primitive.i128.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i128](../primitive.i128.html)>
impl<'a> Sum<&'a [u64](../primitive.u64.html)> for [u64](../primitive.u64.html)
impl<'a> Sum<&'a [u128](../primitive.u128.html)> for [u128](../primitive.u128.html)
impl Sum<[Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u64](../primitive.u64.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u64](../primitive.u64.html)>
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i32](../primitive.i32.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i32](../primitive.i32.html)>
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u128](../primitive.u128.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u128](../primitive.u128.html)>
impl<'a> Sum<&'a [i128](../primitive.i128.html)> for [i128](../primitive.i128.html)
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i8](../primitive.i8.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[i8](../primitive.i8.html)>
impl<'a> Sum<&'a [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u16](../primitive.u16.html)>> for [Wrapping](../../std/num/struct.Wrapping.html "struct std::num::Wrapping")<[u16](../primitive.u16.html)>