karrow :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c)
More...
#include <monad.hpp>
|
template<class Fn , class Gn , class A > |
constexpr auto | operator() (Fn &&fn, Gn &&gn, A &&a) const noexcept(noexcept(mpc::bind(std::invoke(std::forward< Fn >(fn), std::forward< A >(a)), std::forward< Gn >(gn)))) -> decltype(mpc::bind(std::invoke(std::forward< Fn >(fn), std::forward< A >(a)), std::forward< Gn >(gn))) |
|
karrow :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c)
(>=>) in Haskell
constexpr partial< detail::bind_op > bind
bind :: forall a b. m a -> (a -> m b) -> m b
Definition: monad.hpp:45
constexpr partial< detail::karrow_op > karrow
karrow :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c)
Definition: monad.hpp:146
The documentation for this struct was generated from the following file: