#include #include #include #include #include using namespace boost::mpl; // define if your boost distribution includes boost::tti #define BOOST_TTI #ifdef BOOST_TTI #include #endif // BOOST_TTI struct MetafunctionClass { template struct apply { typedef typename plus::type type; }; }; // work correctly: BOOST_MPL_ASSERT((is_lambda_expression >)); #ifdef BOOST_TTI BOOST_MPL_ASSERT((boost::tti::detail::is_lambda_expression)); #endif // BOOST_TTI // does not work correctly BOOST_MPL_ASSERT((not_ >)); int main(int argc, char * argv[]) { }