3.2.4. group.hpp¶
Full path: group/group.hpp
-
template<typename
GroupT>
conceptGroup¶ - Associated Types
Requires
Permutation<perm>andAllocator<allocator>.Notation
Valid Expressionscg.degree(), returns an integer with the number of elements the group is defined on.cg.generators(), returns a non-empty random-access range ofperm.cg.generator_ptrs(), returns a random-access range of pointer-like values toperm. The range and order of the dereferenced pointers must be exactly the range returned bycg.generators().cg.get_allocator(), returns the allocator used by the group.
-
template<typename
GroupT>
conceptStabilizer¶ A refinement of the
Groupconcept.A stabilizer fixes a specific element in some base group. The user must keep track of this base group and what information has been given to the stabilizer.
Requires
Moveable<GroupT>.Associated Types-
using
is_accurate= typename GroupT::is_accurate¶ A type convertible to
std::true_typeorstd::false_type, denoting whether the group will represent the full stabilizer or if it potentially only represents a proper subgroup of the full stabilizer.
Notation
-
PtrIterator
first¶ -
PtrIterator
lastOld¶ -
PtrIterator
lastNew¶ Iterators over
GroupT::const_pointerdenoting the consequtive rangesfirsttolastOldandlastOldtolastNew.
-
Callback
callback¶ A
Callableaccepting three iterator type of equal type. The iterators are the type of pointer iterators given by this group in itscg.generator_ptrs()method.
Valid Expressionscg.fixed_element(), returning an element which defines this stablizer.g.add_generators(first, lastOld, lastNew): notifies this stabilizer that the base group has been extended with the permutations denoted indirectly bylastOldtolastNew. The rangefirsttolastOldmust be the range previously given to this stabilizer asfirsttolastNew. If not previousg.add_generatorscall has been made, thenfirst == lastNew.The stabilizer will decide if these new permutations in the base group warrents an extension of its generating set. This decision must be in accordance with the
is_accuratetype.g.add_generators(first, lastOld, lastNew, callback): as the otherg.add_generatorsfunction, but with a notification callback. If new permutations are added to this stabilizer, the callback will be called at least once with three pointer iteratorsstabFirst,stabLastOld, andstabLastNew. These iterators have the same semantics as the given iterators, but for the stabilizer it self.
-
using