
Paul, Thanks for the clarification. The problem is now solved.
Yes, but it isn't terribly difficult. There is a difference also between recursion and arbitrary reentrancy. I.e. designing a recursive algorithm with Chaos is fairly easy, designing a higher-order recursive algorithm is slightly more difficult, but still fairly easy. Neither involve macro replication.
Beautifull. Unfortunately, switching to Chaos is not an option for us right now, because of the portability reasons. Also, our lib is already in the review queue, and it's not an appropriate moment to make such a drammatic change -- we use Boost.Preprocessor very heavily. Despite some unfortunate problems, like one we discussed, I think Boost.Preprocessor is a great library, especially considering what it has to deal with. Regards, Arkadiy