OnSets¶
-
template<typename TElementType, typename TPointType, typename TContainerType = std::vector<TPointType>>
struct libsemigroups::OnSets¶ Defined in
adapters.hpp
.This is struct applies
OnTuples<TElementType, TPointType, TContainerType>
to a container ofTContainerType
and then sorts it.- tparam TElementType
the type of the elements of the semigroup
- tparam TPointType
the type of the points acted on
- tparam TContainerType
a container of TPointType
Public Functions
-
inline void operator()(TContainerType &res, TContainerType const &pt, TElementType const &p) const¶
This call operator changes
res
in-place to contain the image of the containerpt
of points of type TPointType, under the induced (left or 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.
- Exception
Throws if OnTuples<TElementType, TPointType, TContainerType> throws.
- Complexity
pt.size()
times the complexity of ImageRightAction<TElementType, TPointType> and the cost plus the complexity of sortingres
.- See
OnTuples and ImageRightAction.
- Parameters
res – a container of TPointType (such as std::vector or std::array) to hold the result
pt – a container of TPointType
p – an element of type TElementType
- Returns
(None)