MapGroup

@SerialVersionUID(0L)
class MapGroup[K, V](implicit val scalar: Group[V]) extends MapMonoid[K, V] with Group[Map[K, V]] with Serializable
trait Group[Map[K, V]]
class MapMonoid[K, V]
trait Monoid[Map[K, V]]
trait Semigroup[Map[K, V]]
class Object
trait Matchable
class Any

Value members

Concrete methods

def inverse(x: Map[K, V]): Map[K, V]

Inherited methods

def combine(x: Map[K, V], y: Map[K, V]): Map[K, V]
Inherited from:
MapMonoid
def combineAll(as: IterableOnce[Map[K, V]]): Map[K, V]

Given a sequence of as, sum them using the monoid and return the total.

Given a sequence of as, sum them using the monoid and return the total.

Example:

scala> import cats.kernel.instances.string._

scala> Monoid[String].combineAll(List("One ", "Two ", "Three"))
res0: String = One Two Three

scala> Monoid[String].combineAll(List.empty)
res1: String = ""
Inherited from:
Monoid
override def combineAllOption(as: IterableOnce[Map[K, V]]): Option[Map[K, V]]
Definition Classes
Inherited from:
Monoid
override def combineN(a: Map[K, V], n: Int): Map[K, V]

Return a appended to itself n times. If n is negative, then this returns inverse(a) appended to itself n times.

Return a appended to itself n times. If n is negative, then this returns inverse(a) appended to itself n times.

Definition Classes
Inherited from:
Group
def empty: Map[K, V]
Inherited from:
MapMonoid
def intercalate(middle: Map[K, V]): Semigroup[Map[K, V]]

Between each pair of elements insert middle This name matches the term used in Foldable and Reducible and a similar Haskell function.

Between each pair of elements insert middle This name matches the term used in Foldable and Reducible and a similar Haskell function.

Inherited from:
Semigroup
def isEmpty(a: Map[K, V])(implicit ev: Eq[Map[K, V]]): Boolean

Tests if a is the identity.

Tests if a is the identity.

Example:

scala> import cats.kernel.instances.string._

scala> Monoid[String].isEmpty("")
res0: Boolean = true

scala> Monoid[String].isEmpty("something")
res1: Boolean = false
Inherited from:
Monoid
def remove(a: Map[K, V], b: Map[K, V]): Map[K, V]

Remove the element b from a.

Remove the element b from a.

Equivalent to combine(a, inverse(b))

Example:

scala> import cats.kernel.instances.int._

scala> Group[Int].remove(5, 2)
res0: Int = 3
Inherited from:
Group
override def reverse: Monoid[Map[K, V]]
Definition Classes
Inherited from:
Monoid

Implicits

Implicits

implicit override val scalar: Group[V]