13 template<
typename F,
typename G>
16 template<
typename Fn,
typename Gn>
25 template<
typename... Args>
27 constexpr auto operator()(Args&&... args) & ->
decltype(
auto) {
31 template<
typename... Args>
34 constexpr auto operator()(Args&&... args)
const& ->
decltype(
auto) {
38 template<
typename... Args>
40 constexpr auto operator()(Args&&... args) && ->
decltype(
auto) {
44 template<
typename... Args>
47 constexpr auto operator()(Args&&... args)
const&& ->
decltype(
auto) {
63template<
typename F,
typename G,
typename... Fs>
66constexpr auto
compose(F&& f, G&& g, Fs&&... rest) {
69 util::forward<Fs>(rest)...);
constexpr ComposeFunction(ComposeFunction &&)=default
constexpr auto operator=(ComposeFunction const &) -> ComposeFunction &=delete
constexpr auto operator=(ComposeFunction &&) -> ComposeFunction &=delete
constexpr ComposeFunction(Fn &&f, Gn &&g)
Definition compose.h:17
constexpr ComposeFunction(ComposeFunction const &)=default
Definition operations.h:11
Definition bind_back.h:16
constexpr auto invoke
Definition invoke.h:100
constexpr auto compose(F &&f)
Definition compose.h:59
constexpr auto piped(F &&function)
Definition piped.h:56
Definition zstring_parser.h:9