
IT WORKS! (See below)
-----Original Message----- [Dave Abrahams Writes:] I have checked in a fix for this problem. I even figured out how to preprocess the right headers. Yay me!
Well, maybe you should tell me if the fix works for you before I strut and celebrate ;-)
[Brian Braatz Writes:] YES THANK YOU! THANK YOU! THANK YOU! THANK YOU! THANK YOU! here is the original code: (note to reader from the future, this will NOT work on boost1.32- it should work on any version following) // Code sample for how to copy from a mpl::set<> to a mpl::vector<> // prints the names of the resulting vector struct print_type { template <typename T> void operator()(T const& v) const { std::cout << "[ " << typeid(v).name() << " ] "; } }; struct A {}; struct B {}; struct C {}; struct D {}; typedef mpl::set3<A,B,C> myset; typedef mpl::vector<> vec; // copy a set to a vector typedef mpl::copy < myset , back_inserter< vec::type > >::type result_vec; // Prints "3" cout << "result_vec size " << mpl::size<result_vec>::value << endl; // prints "[ struct C ] [ struct B ] [ struct A ] " mpl::for_each<result_vec::type>( print_type()); THANK YOU DAVID- This is a huge help. :)