eval_multi_let

Synopsis

template <class ValueMap, class Body>
struct eval_multi_let
{
  // unspecified
};

Description

This is similar to multi_let, but it evaluates the substituted expression.

#include <mpllibs/metamonad/eval_multi_let.hpp>

Expression semantics

For any m boost::mpl::map and f classes

eval_multi_let<m, f>

is equivalent to

eval_syntax<multi_let<m, f>>

Example

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

using namespace mpllibs::metamonad::name;

template <class N>
struct my_metafunction :
  eval_multi_let<map<pair<x, plus<n, int_<13>>>>, syntax<times<x, x>>>
{};

[up]