
Steven Watanabe wrote:
AMDG
Eric Niebler wrote:
There's no problem with putting an expression in a terminal, except that Proto algorithms like matches and deep_copy won't recurse into it.
Good to know. That and the new make_expr allow sufficient manual disambiguation for now. I guess that my main issue with make_expr<Domain> for disambiguation is that if we have an expression in a domain, we probably don't want to throw away the domain information to use it with another domain.
It's as_expr(), not make_expr(). The former will be a no-op if the argument is already an expression in the current domain, the latter will always make a new expression. And as_expr() doesn't lose the domain information of its argument -- it just adds an additional domain wrapper, so you might get stevens_wrapper<lambda_wrapper<expr<...> > >. But I haven't yet figured a good way to expose the nested domain information. A use case would help. -- Eric Niebler Boost Consulting www.boost-consulting.com