Composer< F, Gs > Struct Template Reference
Composition of Functors. More...
#include <Composer.hpp>
Public Member Functions | |
| template<class F_ , class... Gs_, REQUIRES(Concepts::Similar< Types< F, Gs... >, Types< F_, Gs_... > >) > | |
| constexpr | Composer (F_ &&f, Gs_ &&... gs) |
| template<class... Ts> | |
| constexpr auto | operator() (Ts const &... args) const |
Public Attributes | |
| F | f_ |
| std::tuple< Gs... > | gs_ |
Detailed Description
template<class F, class... Gs>
struct AMDiS::Operation::Composer< F, Gs >
struct AMDiS::Operation::Composer< F, Gs >
Composition of Functors.
Implement the composition c:=f(g1,g2,...,gN), wherefis an N-ary functor gI` are functors of the same arity. The composition is defined as
c(a1,a2,...,aM) := f(g1(a1,a2,..,aM), g2(a1,a2,...,aM),...,gN(a1,a2,...,aM))
Requirements:
- sizeof...(Gs) == N, with N = arity(F)
- arity(Gs[0]) == arity(Gs[i]) for i = 1,...,N-1
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/amdis/checkouts/latest/amdis/operations/Composer.hpp