- 320 名前:デフォルトの名無しさん [2009/11/10(火) 10:06:18 ]
- template<class F>
struct is_lambda_impl { static const bool value = false; }; template<class F, class A0> struct is_lambda_impl<boost::lambda::lambda_functor<F>(A0)> : public boost::lambda::lambda_functor<F>::template sig<boost::lambda::tuple<boost::lambda::lambda_functor<F>, A0> > { static const bool value = true; }; template<class F, class A0, class A1> struct is_lambda_impl<boost::lambda::lambda_functor<F> (A0, A1)> : public boost::lambda::lambda_functor<F>::template sig<boost::lambda::tuple<boost::lambda::lambda_functor<F>, A0, A1> > { static const bool value = true; }; template<class F> bool is_lambda_(F) { return is_lambda_impl<F(????)>::value; } int main() { std::cout << is_lambda_((boost::lambda::_1 * 2)) << "\n"; std::cout << is_lambda_(std::plus<int>()) << "\n"; }
|

|