Boost logo

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