
Hello Roman, Thank you ever so much, and for a lovely solution at that too; far cleaner than the direction I was heading. Can't thank you enough! --Manfred On Mon, 31 May 2010 17:19:40 +0200 Roman Perepelitsa <roman.perepelitsa@gmail.com> wrote:
2010/5/31 Manfred Doudar <manfred.doudar@rsise.anu.edu.au>
Hello,
I find I am still far from a solution to this, and hope someone might kindly chime in. At the _bottom_ of this email is what I've got so far, though falls short of a solution... help is still sorely needed.
#include <boost/preprocessor.hpp>
#define VAR(z, n, k) \ bar<BOOST_PP_ENUM_PARAMS(k, T)>(a[n]);
#define FUN(n) \ void foo(BOOST_PP_ENUM_PARAMS(n, T)) \ { \ BOOST_PP_REPEAT(n, VAR, n) \ }
#define BOOST_PP_LOCAL_MACRO(n) FUN(n) #define BOOST_PP_LOCAL_LIMITS (1, 3) #include BOOST_PP_LOCAL_ITERATE()
By the way, you don't have to undef BOOST_PP_LOCAL_MACRO and BOOST_PP_LOCAL_LIMITS. They are undef-ed in BOOST_PP_LOCAL_ITERATE.
Roman Perepelitsa.
Thank you ever so much Roman, and for a lovely solution at that too; far cleaner than the direction I was heading.