
Making progress - got example1 to work, but needed #if defined (_MSC_VER) # pragma warning(push) # pragma warning(disable: 4100) // 'source' : unreferenced formal parameter #endif to avoid a blizzard of warning messages. I suspect you could avoid this by putting comments around source thus: /* source */ which leaves it documented but not unused. Might be helpful to enable demangling only if gcc? (Doubt if Borland is up to the mpl part?) Example 2 still doesn't work (as noted by Deane). Do you need a using boost::mpl::size_t;? to resolve the ambiguity? Or some using namespace boost::mpl; inside functions? Haven't delved into this - angels fear to tread ;-) Paul --- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com