dsalgo 0.3.7

A package for Datastructures and Algorithms.
Documentation
use crate::{
    binary_operation_id::BinaryOperationId,
    commutative_property::CommutativeProperty,
    monoid::Monoid,
};

pub trait CommutativeMonoid<Id: BinaryOperationId>: Monoid<Id> {}

impl<Id, T> CommutativeMonoid<Id> for T
where
    T: Monoid<Id> + CommutativeProperty<Id>,
    Id: BinaryOperationId,
{
}