eval_let_c

Synopsis

template <class Name, class Exp, class Body>
struct eval_let_c
{
  // unspecified
};

Description

The same as eval_let, but Exp and Body are angle-bracket expressions and not syntaxes.

#include <mpllibs/metamonad/eval_let_c.hpp>

Expression semantics

For any n, e and b classes

eval_let_c<n, e, b>::type

is equivalent to

eval_let<n, syntax<e>, syntax<b>>::type

Example

using boost::mpl::times;
using boost::mpl::plus;
using boost::mpl::int_;

using namespace mpllibs::metamonad::name;

template <class N>
struct my_metafunction :
  eval_let_c<
    x, plus<n, int_<13>>,
    times<x, x>
  >
{};

[up]