
On Wed, Apr 13, 2011 at 8:04 PM, Thomas Heller
Phoenix V3 (from trunk) has experimental support for recursing into itself: #include
#include #include #include #include #include
#include <iostream>
int main() { using boost::phoenix::_this; using boost::phoenix::arg_names::_1;
boost::function
factorial = if_else( _1 <= 1 , 1 , _1 * _this(_1 - 1) ); std::cout << factorial( 3 ) << std::endl; } Have fun playing with it ;) I don't accept bugfixes for this feature cause i know it is not working in every case ... still needs a little work. If you encounter compile errors, add some dummy phoenix expression at the end of the recursing branch.
Thanks Thomas - It's sufficient to know that what I'm trying to do is a basic limitation of the library. Cutting edge experimental stuff is fun for me, but not really an option at work! Cheers, Rob.