Boost logo

Boost :

Subject: Re: [boost] [proto] reorganized users' guide
From: troy d. straszheim (troy_at_[hidden])
Date: 2008-10-17 20:14:25


Eric Niebler wrote:
>
> troy d. straszheim wrote:
>> Eric Niebler wrote:
>>>
>>> I've just completed a major reorg of Proto's docs, with significant
>>> portions clarified or completely rewritten. I intend to merge these
>>> changes to the release branch soon. I encourage any and all
>>> interested parties to click around and offer feedback.
>>
>> Very, very nice. And an amazing library. You could probably write an
>> entire book about programming inside the C++ type system that would be a
>
> It would be a ... ? Is this a MadLib? ;-)

Yah, I'm getting good at sending mails with half-finished
edits and cruft in them, I should probably be more [adjective] about going
back and giving them a final [verb] before I [verb] them. On the other

;)

>
>> I'll be going those docs
>> carefully. I've been spending quite a lot of time with proto recently.
>> I've been doing lots of small experiments and could probably generate
>> a lot
>> of little examples if you're interested.
>>
>> I'm wondering... say I have a transform like:
>>
>> struct Transform :
>> proto::or_<
>> proto::when<proto::terminal<std::vector<float> >, proto::_value>
>> , proto::when<proto::terminal<float>, proto::_value>
>> , proto::when<proto::binary_expr<proto::tag::multiplies, Transform,
>> Transform>,
>> Multiply(Transform(proto::_child0), Transform(proto::_child1))>
>> >
>> {};
>
> What's Multiply?

Right. That's the problem... it depends on the results of the two transforms.

[snip]
>
> struct LinearAlgebra
> : or_< Scalar, Vector, Matrix >
> {};
>

Hmm, now this looks so simple, and your examples aren't far from that.
Looks like I was missing the forest for the trees. I'm off and running again.
Thanks,

-t


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