mconcat

Synopsis

template <class MonadTag, class L>
struct mconcat
{
  // unspecified
};

Description

mconcat is a metafunction for the mconcat operation of the monoid typeclass.

#include <mpllibs/metamonad/mconcat.hpp>

Expression semantics

For any monad_tag tag and l list:

mconcat<monad_tag, l>

is equivalent to

apply<monoid<monad_tag>::mconcat, l>

Example

using boost::mpl::list_c;
using boost::mpl::list;

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

[up]