eval_guard

Synopsis

template <class T>
struct eval_guard
{
  // unspecified
};

Description

It can be used to protect an angle-bracket expression from being evaluated but make pattern matching and let substitutions recurse into it.

#include <mpllibs/metamonad/eval_guard.hpp>

Example

case_< eval_guard<boost::mpl::plus<x, y>>,
  matches<
    eval_guard<boost::mpl::plus<boost::mpl::int_<11>, boost::mpl::int_<2>>>,
    boost::mpl::int_<13>
  >
>

[up]