|
template<class FirstCTorArg , class SecondCTorArg , class... OtherCTorArgs>
requires std::constructible_from<FirstFn, FirstCTorArg> && std::constructible_from<SecondFn, SecondCTorArg> && (... && std::constructible_from<OtherFns, OtherCTorArgs>) |
constexpr | Composition (FirstCTorArg &&firstArg, SecondCTorArg &&secondArg, OtherCTorArgs &&... otherArgs) noexcept(std::is_nothrow_constructible_v< FirstFn, FirstCTorArg > &&std::is_nothrow_constructible_v< SecondFn, SecondCTorArg > &&(... &&std::is_nothrow_constructible_v< OtherFns, OtherCTorArgs >)) |
| Constructor forwarding the given args to the related functional member.
|
|
template<class... Args>
requires std::invocable<CompStrategy, std::tuple<const FirstFn&, const SecondFn&, const OtherFns&...>, Args...> |
constexpr decltype(auto) | operator() (Args &&... args) const &noexcept(std::is_nothrow_invocable_v< CompStrategy, std::tuple< const FirstFn &, const SecondFn &, const OtherFns &... >, Args... >) |
| Call operator, providing the member functionals and given arguments to the composition strategy.
|
|
template<class... Args>
requires std::invocable<CompStrategy, std::tuple<FirstFn&, SecondFn&, OtherFns&...>, Args...> |
constexpr decltype(auto) | operator() (Args &&... args) &noexcept(std::is_nothrow_invocable_v< CompStrategy, std::tuple< FirstFn &, SecondFn &, OtherFns &... >, Args... >) |
| Call operator, providing the member functionals and given arguments to the composition strategy.
|
|
template<class... Args>
requires std::invocable<CompStrategy, std::tuple<const FirstFn&&, const SecondFn&&, const OtherFns&&...>, Args...> |
constexpr decltype(auto) | operator() (Args &&... args) const &&noexcept(std::is_nothrow_invocable_v< CompStrategy, std::tuple< const FirstFn &&, const SecondFn &&, const OtherFns &&... >, Args... >) |
| Call operator, providing the member functionals and given arguments to the composition strategy.
|
|
template<class... Args>
requires std::invocable<CompStrategy, std::tuple<FirstFn&&, SecondFn&&, OtherFns&&...>, Args...> |
constexpr decltype(auto) | operator() (Args &&... args) &&noexcept(std::is_nothrow_invocable_v< CompStrategy, std::tuple< FirstFn &&, SecondFn &&, OtherFns &&... >, Args... >) |
| Call operator, providing the member functionals and given arguments to the composition strategy.
|
|
constexpr std::tuple< const FirstFn &, const SecondFn &, const OtherFns &... > | fns () const &noexcept |
| Getter to the member functions.
|
|
constexpr std::tuple< FirstFn &, SecondFn &, OtherFns &... > | fns () &noexcept |
| Getter to the member functions.
|
|
constexpr std::tuple< const FirstFn &&, const SecondFn &&, const OtherFns &&... > | fns () const &&noexcept |
| Getter to the member functions.
|
|
constexpr std::tuple< FirstFn &&, SecondFn &&, OtherFns &&... > | fns () &&noexcept |
| Getter to the member functions.
|
|