
This is nearly a copy-paste from the doc (and agrees with intuition): #include <boost/fusion/algorithm/transformation/join.hpp> #include <boost/fusion/include/vector.hpp> #include <boost/fusion/include/join.hpp> void foo() { using namespace boost::fusion; vector<> v1, v2; result_of::join< vector<>, vector<> >::type j = join(v1, v2); } ...but it doesn't compile (msvc9, boost 1.40): c:\UserTemp\x54209\BoostTests\Any\main.cpp(20) : error C2440: 'initializing' : cannot convert from 'boost::fusion::result_of::join<LhSequence,RhSequence>::type' to 'boost::fusion::joint_view<Sequence1,Sequence2>' with [ LhSequence=const boost::fusion::vector<>, RhSequence=const boost::fusion::vector<> ] and [ Sequence1=boost::fusion::vector<>, Sequence2=boost::fusion::vector<> ] No constructor could take the source type, or constructor overload resolution was ambiguous J-L