Defined in adapters.hpp.
Specialisations of this struct should be stateless trivially default constructible with a call operator of signature size_t operator()(Element const& x) const (possibly noexcept, inline and/or constexpr also).
The return value of the call operator ought to indicate the approximate complexity of multiplying two instances of Element, which may or may not depend on the parameter x. This is used, for example, by FroidurePin in some member functions to determine whether it is better to multiply elements or to follow a path in the Cayley graph.
| Element | the type of the elements of a semigroup. |
The second template parameter exists for SFINAE.