NAME
CM::Group - A parametrized role to abstract the characteristics of a group.
DESCRIPTION
This role will describe the general characteristics of a Group, its attributes, and as much as can be abstracted from the current implementation.
This role will be instantiated with the parameter element_type being the type of the elements that the group will contain.
SYNOPSIS
pacakge SomeGroup;
use Moose;
with 'CM::Group' => { element_type => 'GroupElement' };
sub _builder_order {
# order of the group is computed here
}
sub compute_elements {
# the elements are computed here
}
sub operation {
# group operation is defined here (it's usually a wrapper of the "*" operator of GroupElement)
}
AUTHOR
Stefan Petrea, <stefan.petrea at gmail.com>