From: Eric Niebler (eric_at_[hidden])
Date: 2008-03-31 22:55:38
Steven Watanabe wrote:
> 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
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk