Degree¶
-
template<typename TElementType, typename TSfinae = void>
struct Degree¶ Adapter for the degree of an element.
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
,inline
and/orconstexpr
also).The return value of the call operator ought to indicate the degree of a
TElementType
instance 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.- Used by:
- Example
template <> struct Degree<BMat8> { constexpr inline size_t operator()(BMat8 const&) const noexcept { return 8; } };
- Template Parameters
TElementType – the type of the elements of a semigroup.
TSfinae – this template parameter can be used for SFINAE.