Oh, I got it... Sorry again for bothering.

paranthesized_type is a type and the construct

paranthesized_type (SomeParam)

is the function type which expects a function, which returns paranthesized_type and receives SomeParam as input parameter. Steven this is a great idea! Many thanks!

This solution will defenetely help me solving my problem!

Ovanes

On Jan 29, 2008 10:24 AM, Ovanes Markarian <om_boost@keywallet.com> wrote:
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