
Boost : 
From: Kevlin Henney (kevlin_at_[hidden])
Date: 20000317 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