Hi,
I have a small functor:
struct operation {
template<class> struct result;
template< class F >
struct result {
typedef long type;
};
template< class F >
struct result {
typedef double type;
};
template< class T >
typename result< operation(T) >::type operator()( T t ) {
typedef typename result< operation(T) >::type result_type;
return result_type( t * T( 2 ) );
}
};
and I wonder why a transform_view works as expected:
typedef fusion::vector< int , float > vector_type;
vector_type v( 1 , 3.4 );
fusion::transform_view< vector_type , operation > tv( v , operation() );
while
result_of::transform does not:
fusion::result_of::transform< vector_type , operation >::type tv2
= fusion::transform( v , operation() );
result in compile errors? Any hints?