Rank¶
-
using
libsemigroups::Konieczny
::
Rank
= typename TTraits::Rank¶ Defined in
adapters.hpp
.This type should be default constructible and a call operator of signature
size_t operator()(TElementType const&)
if no additional data is required to compute the rank, or a call operator of signature `size_t operator()(TStateType<TElementType> const&, TElementType const&) if additional data is required.The call operator should return the rank of the semigroup element given as argument. This must satisfy the following properties:
\(\operatorname{rank}\) should agree with the \(D\)-order on the semigroup; that is, if \(D_x \leq D_y\), then \(\operatorname{rank}(x) \leq \operatorname{rank}(y)\),
if \(D_x \leq D_y\) and \(\operatorname{rank}(x) = \operatorname{rank}(y)\), then \(D_x = D_y\).
- Used by KoniecznyTraits.
- Template Parameters
TElementType
: the type of the semigroup elements.TStateType
: the type of the data required to compute ranks of TElementTypes; defaults toRankState<TElementType>
.