ImageRightAction¶
-
template<typename TElementType, typename TPointType, typename = void>
struct ImageRightAction¶ Adapter for the value of a right action.
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
,inline
and/orconstexpr
also); orTPointType operator()(TElementType const& x, TPointType const& pt) const
(possiblynoexcept
,inline
and/orconstexpr
also).
In form (1): the call operator should change
res
in-place to contain the image of the pointpt
under 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
pt
under the right action of the elementx
.The third template parameter exists for SFINAE.
- 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(); } };
- Template Parameters
TElementType – the type of the elements of a semigroup.
TPointType – the type of the points acted on.