Trait frunk::semigroup::Semigroup
[−]
[src]
pub trait Semigroup { fn combine(&self, other: &Self) -> Self; }
A Semigroup is a class of thing that has a definable combine operation
Required Methods
fn combine(&self, other: &Self) -> Self
Associative operation taking which combines two values.
assert_eq!(Some(1).combine(&Some(2)), Some(3))Run
Implementors
impl<H: Semigroup, T: HList + Semigroup> Semigroup for HCons<H, T>
impl Semigroup for HNil
impl Semigroup for i8
impl Semigroup for i16
impl Semigroup for i32
impl Semigroup for i64
impl Semigroup for u8
impl Semigroup for u16
impl Semigroup for u32
impl Semigroup for u64
impl Semigroup for isize
impl Semigroup for usize
impl Semigroup for f32
impl Semigroup for f64
impl Semigroup for Product<i8>
impl Semigroup for Product<i16>
impl Semigroup for Product<i32>
impl Semigroup for Product<i64>
impl Semigroup for Product<u8>
impl Semigroup for Product<u16>
impl Semigroup for Product<u32>
impl Semigroup for Product<u64>
impl Semigroup for Product<isize>
impl Semigroup for Product<usize>
impl Semigroup for Product<f32>
impl Semigroup for Product<f64>
impl<T> Semigroup for Option<T> where T: Semigroup + Clone
impl<T: Semigroup> Semigroup for Box<T>
impl Semigroup for String
impl<T: Clone> Semigroup for Vec<T>
impl<T> Semigroup for Cell<T> where T: Semigroup + Copy
impl<T: Semigroup> Semigroup for RefCell<T>
impl<T> Semigroup for HashSet<T> where T: Eq + Hash + Clone
impl<K, V> Semigroup for HashMap<K, V> where K: Eq + Hash + Clone,
V: Semigroup + Cloneimpl<T> Semigroup for Max<T> where T: Ord + Clone
impl<T> Semigroup for Min<T> where T: Ord + Clone
impl Semigroup for All<bool>
impl Semigroup for All<usize>
impl Semigroup for All<u8>
impl Semigroup for All<u16>
impl Semigroup for All<u32>
impl Semigroup for All<u64>
impl Semigroup for All<isize>
impl Semigroup for All<i8>
impl Semigroup for All<i16>
impl Semigroup for All<i32>
impl Semigroup for All<i64>
impl Semigroup for Any<bool>
impl Semigroup for Any<usize>
impl Semigroup for Any<u8>
impl Semigroup for Any<u16>
impl Semigroup for Any<u32>
impl Semigroup for Any<u64>
impl Semigroup for Any<isize>
impl Semigroup for Any<i8>
impl Semigroup for Any<i16>
impl Semigroup for Any<i32>
impl Semigroup for Any<i64>
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup, T: Semigroup, U: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup, T: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup, S: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup, R: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup, Q: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup, P: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup, O: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup, N: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup, M: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup, L: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup, K: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup, J: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I, J)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup, I: Semigroup> Semigroup for (A, B, C, D, E, F, G, H, I)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup, H: Semigroup> Semigroup for (A, B, C, D, E, F, G, H)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup, G: Semigroup> Semigroup for (A, B, C, D, E, F, G)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup, F: Semigroup> Semigroup for (A, B, C, D, E, F)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup, E: Semigroup> Semigroup for (A, B, C, D, E)
impl<A: Semigroup, B: Semigroup, C: Semigroup, D: Semigroup> Semigroup for (A, B, C, D)
impl<A: Semigroup, B: Semigroup, C: Semigroup> Semigroup for (A, B, C)
impl<A: Semigroup, B: Semigroup> Semigroup for (A, B)
impl<A: Semigroup> Semigroup for (A,)