
On Sun, 2012-12-09 at 22:40 -0800, Jeffrey Lee Hellrung, Jr. wrote: - See if a std::vector< boost::intrusive::list > works.
This construction compiles and works with gcc 4.7.2 in C++11 mode only. With wersion 4.7.2 in default mode and 4.6 in any mode, compilation fails with a similar error. - See if a boost::multi_array< boost::container::vector > works.
This compiles and works fine in both 4.6 and 4.7, even in non-C++11 mode If the above nesting of data structures gives similar errors as the original combination (something about unavailability of a copy constructor and/or stuff involving boost::rv<>), then that would seem to confirm it's a Boost.Move + Boost.MultiArray incompatibility. At that point, the best options are either to patch Boost.MultiArray to be Boost.Move-aware (not sure how much work that would be...) or try gcc 4.7.x, where maybe Boost.Move would no longer have adverse effects (if rvalue references are enabled by default; I don't know actually if that's the case).
GCC 4.7.2 won't compile the MultiArray of intrusive lists even in C++11
mode. It spews the same error as gcc 4.6 in C++0x mode:
/usr/include/boost/intrusive/list.hpp:1488:4: error:
‘boost::intrusive::list