![]() |
libsemigroups
v3.0.0
C++ library for semigroups and monoids
|
Adapter for the product of two elements.
Defined in adapters.hpp
.
Specialisations of this struct should be stateless trivially default constructible with a call operator of signature void operator()(Element&, Element const&, Element const&, size_t = 0)
(possibly noexcept
, inline
and/or constexpr
also).
The call operator should change xy
in-place to be the product of x
and y
. The 4th parameter is optional and it can be used as an index for static thread local storage, that might be required for forming the product of x
and y
. The purpose of the 1st parameter is to avoid repeated allocations of memory to hold temporary products that are discarded soon after they are created.
Element | the type of the elements of a semigroup. |
The second template parameter exists for SFINAE.
Public Member Functions | |
void | operator() (BMat8 &xy, BMat8 const &x, BMat8 const &y, size_t=0) const noexcept |
Changes xy in place to hold the product of x and y . | |