libsemigroups  v3.0.0
C++ library for semigroups and monoids
Loading...
Searching...
No Matches
Complexity< Element, typename >
template<typename Element, typename = void>
struct libsemigroups::Complexity< Element, typename >

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.

Template Parameters
Elementthe type of the elements of a semigroup.

The second template parameter exists for SFINAE.

Used by:
Example
template <>
struct Complexity<KBE> {
constexpr size_t operator()(KBE const&) const noexcept {
return LIMIT_MAX;
}
};
LimitMax const LIMIT_MAX
Value for the maximum of something.
Adapter for the complexity of multiplication.
Definition adapters.hpp:121

The documentation for this struct was generated from the following file: