
2 Mar
2010
2 Mar
'10
8:58 a.m.
Eric Niebler wrote:
It's not actually quite that simple in this case. Manjunath has defined his function call overloads as follows:
result_type operator()( typename boost::result_of
(const Expr &)>::type x, typename boost::result_of (const Expr &)>::type y) This function is *not* a template, so the types mentioned in its signature are evaluated eagerly. The call_param_type transform extracts the Nth child from Expr. If Expr doesn't have enough child nodes, it violates the transform's preconditions. Compiler errors are sure to result.
Oh good catch, I missed that.