ImageRightAction¶
-
template<typename
TElementType, typenameTPointType, typename = void>
structImageRightAction¶ Defined in
adapters.hpp.Specialisations of this struct should be stateless trivially default constructible with a call operator of signature:
void operator()(TPointType& res, TElementType const& x, TPointType const& pt) const(possiblynoexcept,inlineand/orconstexpralso); orTPointType operator()(TElementType const& x, TPointType const& pt) const(possiblynoexcept,inlineand/orconstexpralso).
In form (1): the call operator should change
resin-place to contain the image of the pointptunder the right action of the elementx. The purpose of the 1st parameter is to avoid repeated allocations of memory to hold temporary points that are discarded soon after they are created.In form (2): the call operator should return the image of the point
ptunder the right action of the elementx.The third template parameter exists for SFINAE in overload resolution.
- Template Parameters
TElementType: the type of the elements of a semigroup.TPointType: the type of the points acted on.
- Used by:
Action (in form (1))
SchreierSimsTraits (in form (2))
- Example
template <> struct ImageLeftAction<BMat8, BMat8> { void operator()(BMat8& res, BMat8 pt, BMat8 x) const noexcept { res = (x * pt).row_space_basis(); } };