
Hi list,
I have the following problem:
template<class T, class U, class V> struct MyType{ struct nested{ typename MetaFunc<T>::type a; typename MetaFunc<U>::type b; typename MetaFunc<V>::type c; }; };
now this inner struct must be a boost fusion compatible random access sequence. The examples cover only structs on namespace lvel, how can i handle this way? Later these classes will be generated by a macro automatically so even dirty hacks are allowed :). But i don't want to clatter the namespace by pulling nested outside of the class.
Is there an easy way or do i have to write the necessary mtafunctions to make this possible?
You should be able to use BOOST_FUSION_DEFINE_STRUCT_INLINE [1] as follows: template<class T, class U, class V> struct MyType{ BOOST_FUSION_DEFINE_STRUCT_INLINE( nested, (typename MetaFunc<T>::type, a) (typename MetaFunc<U>::type, b) (typename MetaFunc<V>::type, c) ) }; Note however that BOOST_FUSION_DEFINE_STRUCT_INLINE is new in Boost 1.51. Regards, Nate [1] http://www.boost.org/doc/libs/1_51_0/libs/fusion/doc/html/fusion/adapted/def...