Steven,

one additional question. In the second solution

paranthesized_type is a function type, which is passed to the temple? If so, then I need to declare somewhere an overload. Isn't it so?



Thanks,
Ovanes


There are a couple of ways to do it.  You can make each element of the
Seq to be itself a seq
and then call BOOST_PP_SEQ_ENUM on the inside:

((X1))  ((X2))  ((some_other_template<T1)(T2>))

Another way is to use template metaprogramming

(X1)(X2)(parenthesize_type(wrap<some_other_template<T1, T2>>))

template<class T>
struct unparenthesize { typedef T type; };

template<class T>
struct unparenthesize<parenthesized_type(wrap<T>)> { typedef T type; };

In Christ,
Steven Watanabe

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users