Boost logo

Boost :

Subject: Re: [boost] Interest in updated expression template library?
From: Brook Milligan (brook_at_[hidden])
Date: 2017-01-11 16:03:26


> On Jan 11, 2017, at 12:11 PM, Zach Laine <whatwasthataddress_at_[hidden]> wrote:
>
> evaluate() and evaluate_as() do not take a transform. They only evaluate.
> The optional params are used to supply values for placeholders.
> transform() takes a transform though.

Oops. My mistake. The links for “evaluate()” and “evaluate_as()” on the customization points doc page resolve to the documentation on the “transform()” function. I didn’t notice that discrepancy, assumed the page documented what the link implied, and saw the argument list. Sorry.

> Though these points are covered if you read through the examples, it seems
> clear to me now that there needs to be a "Transforming and Evaluating
> Expressions" section in the tutorial.

That would be really helpful. I think much of the rest (which mainly includes making terminals and building expression trees using operators) is pretty clear, although I have not yet tried anything and may be missing something more (see below). The really critical part, I think, is understanding how to evaluate the expressions and what range of flexibility is possible. A section that outlines that explicitly would be great.

I have not tried any of this yet because you are using constexpr-if statements, which are not supported by compilers I have access to just now. In fact, those are c++17 features, so I think the claim of c++14 compatibility is perhaps a bit bold.

I look forward to trying this as soon as I can round up a compatible compiler.

Cheers,
Brook


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