Boost logo

Boost :

From: Kevlin Henney (kevlin_at_[hidden])
Date: 2000-03-17 08:56:24


In message <B4F79D9D.2F2A%abrahams_at_[hidden]>, Dave Abrahams
<abrahams_at_[hidden]> writes
>The idea is to remove the vagaries of whether something becomes a proper
>expression template by saying all lambda expressions should begin with the
>construct
> boost::lambda/
>
>-----
> const lambda_t lambda;
>
> template <class T>
> some_expression_template_type operator/(const lambda_t&, const T&);
>
>------
>
>Since operator/ binds nearly as strongly as any other operator, something
>like this should work.

I think the aim is good, and the notation's got a lot of the right
properties. However, I was wondering about adopting a different
convention:

        (boost::lambda) a + b + c

Ie, using old style cast notation to begin the chain. So something like:

        class lambda
        {
        public:
                template<typename T> lambda(const T &);
                ...
        };

Although I've used this technique before, I haven't had the chance to
think this one through completely for the current example. Any thoughts?
____________________________________________________________

  Kevlin Henney Curbralan Ltd
  kevlin_at_[hidden] +44 (0) 7801 073 508
____________________________________________________________


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk