3.2.2. generated.hpp¶
Full path: group/generated.hpp
-
template<typename
Alloc
, typenameDupChecker
= DupCheckerNop>
classgenerated_group
¶ Models
Group
.A basic group implementation representing it by a generating set of permutations.
- Template Parameters
Alloc – the allocator to use.
DupChecker – a function object for checking if a permutation is already in the generating set.
-
explicit
generated_group
(const allocator &alloc, DupChecker dupChecker = DupChecker())¶ Construct the trivial group on
alloc.degree()
elements.
-
template<typename
UPerm
>
voidadd_generator
(UPerm &&perm)¶ Add a copy of
perm
as a new generator to the group. TheDupChecker
is used for deciding if the new generator already exists.
-
template<typename
UPerm
, typenameNext
>
voidadd_generator
(UPerm &&perm, Next next)¶ Add a copy of
perm
as a new generator to the group. TheDupChecker
is used for deciding if the new generator already exists. If the permutation is added, thenext
function is called with three iterators:next(first, lastOld, lastNew)
where the rangefirst
tolastOld
denotes the generating set of the group before the call, and the rangelastOld
tolastNew
denotes the added generators.
-
std::size_t
degree
() const¶
-
PtrContainerToPermProxy<Store, perm>
generators
() const¶
-
PtrContainerToPtrProxy<Store, const_pointer>
generator_ptrs
() const¶