bind_

Synopsis

template <class MonadTag, class A, class B>
struct bind_
{
  // unspecified
};

Description

bind_ is a metafunction for the bind_ operation of the monad typeclass.

#include <mpllibs/metamonad/bind_.hpp>

Expression semantics

For any monad_tag tag and a, b classes:

bind_<monad_tag, a, b>

is equivalent to

apply<monad<monad_tag>::bind_, a, b>

Example

struct one_error;
struct other_error;

typedef
  bind_<
    exception_tag,
    exception<one_error>,
    exception<other_error>
  >::type
  exception_one_error;

[up]