mplus

Synopsis

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

Description

mplus is a metafunction for the mplus operation of the monad plus typeclass.

#include <mpllibs/metamonad/mplus.hpp>

Expression semantics

For any monad_tag tag and a and b classes:

mplus<monad_tag, a, b>

is equivalent to

apply<monad_plus<monad_tag>::mplus, a, b>

Example

using boost::mpl::list_c;

typedef
  mplus<
    list_tag,
    list_c<int, 0, 1, 2, 3, 4>,
    list_c<int, 5, 6, 7, 8, 9>
  >::type
  list_0_to_10;

[up]