
On Oct 10, 3:17 am, Christopher Schmidt
Am 10.10.2010 12:02, schrieb alfC:
Hi,
(I keep struggling with Boos.Fusion.)
How do I deduce the type of the vector resulting from the transformation of another vector?
I have a source vector of different types, e.g. vector
si::length, quantitysi::mass, quantitysi::time and I have a transformation that is well defined and returns another type depending on the original type. The question is how do I generate a vector type that is the result of the given transformation. I though that result_of::transform was the function to obtain the result but it turns not because it returns a type transform_view instead of a vector.
vector< ... > v1; T? v2(transform(v1, transformation()));
i.e. what is the type of T as a fusion::vector as deduced from the type of v1 and the transformation type? -- Thank you, Alfredo--
You can generate a vector from an arbitrary fusion sequence using the conversion metafunction:
http://www.boost.org/doc/libs/1_44_0/libs/fusion/doc/html/fusion/cont...
fusion::result_of::as_vector< fusion::result_of::transform< v1, transformation >::type
::type v2(fusion::transform(v1, transformation()));
Hi, thank you. I tried something like this but I keep getting an error
from the compiler.
/usr/include/boost/utility/result_of.hpp:68: error: invalid use of
incomplete type ‘struct divide::resultsi::time >::type
type;
};
template<typename Q>
typename result