Joaquín, Mª López Muñoz wrote:
I guess fusion can be used to implement what you want, but MPL probably
also suffices. Please see the attached file, is this kind of what you're
after?
Joaquín,
Thank you very much! This is (almost) exactly what I want. I have a couple
of questions though.
1/
Consider
typedef variable_list_seq > vl_type;
Instead of having, for each type in the typelist, a variable of that type, I
need a variable depending on that type. This can easily be accomplished by
changing variable_list_member to hold my_type<T> rather than T.
I was wondering, however, if variable_list_member can be eliminated, and
my_type passed as a template argument. E.g. suppose I write a metafunction
template <typename T> struct my_type { typedef /* some type */ type; }
to somehow declare
typedef variable_list_seq, my_type>
vl_type;
to obtain a variable list with "keys" int, char, double and variables of
type my_type<int>::type, ....
2/ would it be possible to generated variables my_type for all
possible combinations of T1 and T2, where T1 and T2 are types in two
typelists?
Something like
typedef product_variable_list_seq,
boost::mpl::vector<...>, my_type> vl_type;
where my_type is a
template struct my_type { typedef /* some type */
type; }
Best regards,
--
Ares Lagae
Computer Graphics Research Group, Katholieke Universiteit Leuven
http://www.cs.kuleuven.be/~ares/