Monoid<T> mixin
A monoid is a semigroup with an identity (empty
).
A monoid is a specialization of a semigroup, so its operation must be associative.
Additionally, combine(x, empty) == combine(empty, x) == x
.
For example, if we have Monoid<String>
,
with combine
as string concatenation, then empty = ""
:
final instance = Monoid.instance<String>('', (a1, a2) => '$a1$a2');
expect(instance.combine('abc', instance.empty), instance.combine(instance.empty, 'abc'));
expect(instance.combine('abc', instance.empty), 'abc');
 Superclass constraints
 Semigroup<
T>
 Semigroup<
 Mixin applications
Properties
 empty → T

Return the identity element for this monoid.
no setter
 hashCode → int

The hash code for this object.
no setterinherited
 runtimeType → Type

A representation of the runtime type of the object.
no setterinherited
Methods

combine(
T x, T y) → T 
Associative operation which combines two values.
inherited

combineN(
T a, int n) → T 
Return
a
appended to itselfn
times.override 
intercalate(
T middle) → Semigroup< T> 
Return a
Semigroup
which insertsmiddle
between each pair of elements.inherited 
isEmpty(
T a, Eq< T> eq) → bool 
Tests if
a
is the identity (empty
). 
noSuchMethod(
Invocation invocation) → dynamic 
Invoked when a nonexistent method or property is accessed.
inherited

reverse(
) → Monoid< T> 
Return a
Monoid
that reverses the order.override 
toString(
) → String 
A string representation of this object.
inherited
Operators

operator ==(
Object other) → bool 
The equality operator.
inherited