
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