Sebastian,<br><br>preprocessor can not do parsing of C++ tokens for you, so it can not strip template paramters. You approach should be reversed:<br><br>SOME_MAGIC_DEF_MACRO(myVec, type_seq) should take a boost preprocessor sequence and genrate a template class instantiation and your pod type.<br> <br>Macro input would be:<br><br>SOME_MAGIC_DEF_MACRO(myVec, ((int)(char)(double)(size_t)(whatever_type)))<br><br>This macro expansion should result in:<br>fusion::vector<int,char,double,size_t,whatever_type> myVec;<br> and<br>struct myVec_pod<br>{<br> int v1;<br> double v2;<br> ...<br>};<br><br>BOOST_PP_SEQ_FOR_EACH or BOOST_PP_SEQ_FOLD_LEFT are your friends.<br><br>With Kind Regards,<br>Ovanes<br><br><div class="gmail_quote">On Fri, Apr 4, 2008 at 1:34 PM, Sebastian Weber <<a href="mailto:sebastian.weber@physik.tu-darmstadt.de">sebastian.weber@physik.tu-darmstadt.de</a>> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi there!<br> <br> The fusion library seems to be the choice for handling tuple-like data<br> in C++. However, for some reasons I would like to be able to transform a<br> fusion vector into a pod object. Something like:<br> <br> fusion::vector<int, double, float> myVec;<br> <br> SOME_MAGIC_ADAPTER_MACRO(myVec)<br> <br> The macro or whatever should then turn the vector into<br> <br> struct myVec_pod {<br> int v1;<br> double v2;<br> float v3;<br> };<br> <br> or similar. Is this possible?<br> <br> Greetings,<br> <br> Sebastian Weber<br> <br> _______________________________________________<br> Boost-users mailing list<br> <a href="mailto:Boost-users@lists.boost.org">Boost-users@lists.boost.org</a><br> <a href="http://lists.boost.org/mailman/listinfo.cgi/boost-users" target="_blank">http://lists.boost.org/mailman/listinfo.cgi/boost-users</a><br> </blockquote></div><br>