Degree¶
-
using
libsemigroups::SchreierSims::Degree= typename TTraits::Degree¶ Defined in
adapters.hpp.Specialisations of this struct should be stateless trivially default constructible with a call operator of signature
size_t operator()(TElementType const& x) const(possiblynoexcept,inlineand/orconstexpralso).The return value of the call operator ought to indicate the degree of a
TElementTypeinstance which may or may not depend on the parameterx. The degree of a permutation, for instance, would be the the number of points it acts on, the degree of a matrix is its dimension, and so on. This is used, for example, by SchreierSimsTraits in some member functions to determine whether it is known a priori that a permutation does not belong to the object, because it acts on too many points.The second template parameter exists for SFINAE in overload resolution.
- Template Parameters
TElementType: the type of the elements of a semigroup.
- Used by:
- Example
template <> struct Degree<BMat8> { constexpr inline size_t operator()(BMat8 const&) const noexcept { return 8; } };