
Eric Niebler a écrit :
I'm starting to get the idea, but I'm a little dense. And you've only shown a fragment of the kind of transformation you're doing. Since you have (ugly) code that already does what you want to do, can you post it so I can clearly see what you're doing? I can try to find a cleaner solution for you.
Here is two zip files of the current state of work. Should compile with boost 1.35 + proto. If MPI inclusion is a problem just remove them altogetehr, they're not compelte yet. http://www.ief.u-psud.fr/~falcou/cpp/niebler/nice_not_working.zip http://www.ief.u-psud.fr/~falcou/cpp/niebler/ugly_working.zip Tell me when they're downloaded so i can remove them ;) First is what I tried to do using transform but failed to work properly. Second one works as intended by my semantic but is "ugly" (aka explicit use of inner form of proto:::expr). The use-case that fails is the followiong : cout << probe( (seq<Foo>() & seq<Foo>()) | (seq<Foo>() & seq<Foo>())); it supposed to write something like [0] : Function call send to 2 [1] : Function call send to 3 [2] : Recv from 0 Function call [3] : Recv from 1 Function call But in fact it outputs : [0] : Function call [1] : Function call [0] : Function call send to 2 [1] : Function call send to 3 [2] : Recv from 0 Function call [3] : Recv from 1 Function call