|
Boost : |
From: Larry Evans (cppljevans_at_[hidden])
Date: 2007-04-04 09:06:08
On 04/04/2007 02:18 AM, Eric Niebler wrote:
> As discussed here recently, Boost.Proto is an expression template (ET)
> framework for building domain-specific embedded languages (DSEL). The
> purpose of this preliminary submission is to solicit feedback prior to a
> full submission (and to buy myself a little time to polish the
> docs/tests/examples :-).
[snip]
>
> << Documentation (such as it is) >>
>
> http://boost-sandbox.sourceforge.net/libs/proto/doc/html/index.html
>
On page:
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/user_s_guide/quick_start.html
the sentence:
Notice that in order to build a Proto expression template, at least
one argument in the expression must be a Proto-ified. In this case,
that is done with the terminal<> class template, which is used to
wrap std::cout.
was, at first, unclear to me because evaluate just had one argument;
however, "one argument in expression" suggests there could be more
than one.
The following would be clearer to me:
Notice that in order to build a Proto expression template, at least
one subexpression of the whole expression must be a Proto-ified. In
the case of:
cout_ << "hello" << ',' << " world"
this one Proto-ified subexpression is cout_, which is the
Proto-ification of std::cout via wrapping by the terminal<> class
template.
I hope that's right. If not, then I still don't know what the
sentence means :(
[snip]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk