
Hi folks, I have some code making use of both Boost MPL (and Variant) with occasional use of lexical_cast in some translation units. This is working fine on Linux/Unix/MacOS X with a wide range of GCC and clang versions. However, when porting to Windows with MS Visual Studio 2013 and Boost 1.58, I've encountered an unexpected and subtle interaction with the MPL and Boost headers. If I include them in the "wrong" order it leads to bizarre compile errors. After many hours of testing, I've reduced the failure down to the minimal testcase below. In the code sample below, there are two #includes for boost/lexical_cast.hpp. If the first is uncommented, compiling fails. If this is commented and the second is uncommented, compiling succeeds! The odd thing: the critical place is before and after defining BOOST_MPL_LIMIT_VECTOR_SIZE. In the failure case the limit size is 20, when succeeding it's 40. The code below requires more than 20 to successfully compile. While it's fairly obvious with hindsight that lexical_cast is indirectly including boost/mpl/limits/vector.hpp which is defaulting the limit to 20, the fact that the behaviour is differing between compilers is a bit unexpected, particularly since I don't want to mess with the limit if already set in case the users of my library need a higher limit, but they might have used lexical_cast themselves. Has anyone else run into this type of problem before? It's also made me realise that using variant with MPL lists might be problematic if the end user changes the limit and this changes the underlying type? Should I just use vector40.hpp and ignore the limit? If I did this, do I need to worry about the intermediate types in the code below, or do I just need to use vector40 in place of vector<> (or in place of vector0<>)--I'm unsure how insert_range knows which type to use or is it vector0 in this case and I should be "allocating" space by using a different type? [I am using vector<> in reality but tried vector0 here to see if it made a difference] Thanks all, Roger ----source-------------------------------------------------------------- #include <string> #include <vector> #include <cstdint> # ifndef BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS /// Disable MPL header preprocessing (to allow the following macros to be modified). # define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS # endif #include <boost/lexical_cast.hpp> # ifndef BOOST_MPL_LIMIT_VECTOR_SIZE /// MPL vector size limit increase. # define BOOST_MPL_LIMIT_VECTOR_SIZE 40 # endif //#include <boost/lexical_cast.hpp> # ifndef BOOST_MPL_LIMIT_LIST_SIZE /// MPL list size limit increase. # define BOOST_MPL_LIMIT_LIST_SIZE 40 # endif #include <boost/mpl/insert_range.hpp> #include <boost/mpl/joint_view.hpp> #include <boost/mpl/transform_view.hpp> #include <boost/mpl/vector.hpp> #include <boost/mpl/vector/vector0.hpp> #include <boost/version.hpp> #if BOOST_VERSION >= 105800 # include <boost/type_traits/remove_cv.hpp> #endif typedef boost::mpl::vector<std::string, bool> non_numeric_types; typedef boost::mpl::vector<uint8_t, uint16_t, uint32_t, uint64_t, int8_t, int16_t, int32_t, int64_t> integer_types; typedef boost::mpl::vector<float, double, long double> float_types; typedef boost::mpl::joint_view<integer_types, float_types>::type numeric_types_view; typedef boost::mpl::joint_view<non_numeric_types, numeric_types_view>::type basic_types_view; template<typename T> struct make_vector { typedef std::vector<T> type; }; typedef boost::mpl::transform_view<basic_types_view, make_vector<boost::mpl::_1> >::type list_types_view; typedef boost::mpl::joint_view<basic_types_view, list_types_view> all_types_view; typedef boost::mpl::insert_range<boost::mpl::vector0<>, boost::mpl::end<boost::mpl::vector0<> >::type, all_types_view>::type discriminated_types; ------------------------------------------------------------------------ ----error log----------------------------------------------------------- 1> Environment Variables passed to tool: 1> VS_UNICODE_OUTPUT=1500 1> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\CL.exe /c /I"D:\bioformats\cpp\cmake\..\ext\gtest-1.7.0\include" /ID:\bioformats\cpp\lib /I"D:\bioformats\v1\bioformats-build\cpp\lib" /I"D:\bioformats\v1\superbuild-install\include\boost-1_58" /I"D:\bioformats\v1\superbuild-install\include" /Zi /nologo /W3 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS /D _DEBUG /D BOOST_ALL_DYN_LINK /D BOOST_ALL_NO_LIB /D _CRT_SECURE_NO_WARNINGS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Fo"testinclude.dir\Debug\\" /Fd"testinclude.dir\Debug\vc120.pdb" /Gd /TP /errorReport:prompt /bigobj "D:\bioformats\cpp\test\ome-bioformats\testinclude.cpp" 1> Tracking command: 1> C:\Program Files (x86)\MSBuild\12.0\bin\Tracker.exe /d "C:\Program Files (x86)\MSBuild\12.0\bin\FileTracker.dll" /i D:\bioformats\v1\bioformats-build\cpp\test\ome-bioformats\testinclude.dir\Debug\testinclude.tlog /r D:\BIOFORMATS\CPP\TEST\OME-BIOFORMATS\TESTINCLUDE.CPP /b MSBuildConsole_CancelEventa3d26d0a2f3141fdad0e9cdd682fa900 /c "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\CL.exe" /c /I"D:\bioformats\cpp\cmake\..\ext\gtest-1.7.0\include" /ID:\bioformats\cpp\lib /I"D:\bioformats\v1\bioformats-build\cpp\lib" /I"D:\bioformats\v1\superbuild-install\include\boost-1_58" /I"D:\bioformats\v1\superbuild-install\include" /Zi /nologo /W3 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS /D _DEBUG /D BOOST_ALL_DYN_LINK /D BOOST_ALL_NO_LIB /D _CRT_SECURE_NO_WARNINGS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Fo"testinclude.dir\Debug\\" /Fd"testinclude.dir\Debug\vc120.pdb" /Gd /TP /errorReport:prompt /bigobj "D:\bioformats\cpp\test\ome-bioformats\testinclude.cpp" 1> testinclude.cpp 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/push_front_impl.hpp(45): error C2664: 'int boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)' : cannot convert argument 1 from 'boost::mpl::failed ************(__cdecl boost::mpl::push_front_impl<boost::mpl::aux::vector_tag<20>>::apply<Sequence,T>::REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST::* ***********)(Sequence)' to 'boost::mpl::assert<false>::type' 1> with 1> [ 1> Sequence=boost::mpl::vector20<signed char,short,int,__int64,float,double,long double,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>,std::vector<bool,std::allocator<bool>>,std::vector<unsigned char,std::allocator<unsigned char>>,std::vector<unsigned short,std::allocator<char16_t>>,std::vector<unsigned int,std::allocator<char32_t>>,std::vector<unsigned __int64,std::allocator<unsigned __int64>>,std::vector<signed char,std::allocator<signed char>>,std::vector<short,std::allocator<short>>,std::vector<int,std::allocator<int>>,std::vector<__int64,std::allocator<__int64>>,std::vector<float,std::allocator<float>>,std::vector<double,std::allocator<double>>,std::vector<long double,std::allocator<long double>>> 1> , T=unsigned __int64 1> ] 1> No constructor could take the source type, or constructor overload resolution was ambiguous 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/push_front.hpp(32) : see reference to class template instantiation 'boost::mpl::push_front_impl<boost::mpl::aux::vector_tag<20>>::apply<Sequence,T>' being compiled 1> with 1> [ 1> Sequence=boost::mpl::vector20<signed char,short,int,__int64,float,double,long double,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>,std::vector<bool,std::allocator<bool>>,std::vector<unsigned char,std::allocator<unsigned char>>,std::vector<unsigned short,std::allocator<char16_t>>,std::vector<unsigned int,std::allocator<char32_t>>,std::vector<unsigned __int64,std::allocator<unsigned __int64>>,std::vector<signed char,std::allocator<signed char>>,std::vector<short,std::allocator<short>>,std::vector<int,std::allocator<int>>,std::vector<__int64,std::allocator<__int64>>,std::vector<float,std::allocator<float>>,std::vector<double,std::allocator<double>>,std::vector<long double,std::allocator<long double>>> 1> , T=unsigned __int64 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/push_front.hpp(47) : see reference to class template instantiation 'boost::mpl::push_front<T1,T2>' being compiled 1> with 1> [ 1> T1=boost::mpl::vector20<signed char,short,int,__int64,float,double,long double,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>,std::vector<bool,std::allocator<bool>>,std::vector<unsigned char,std::allocator<unsigned char>>,std::vector<unsigned short,std::allocator<char16_t>>,std::vector<unsigned int,std::allocator<char32_t>>,std::vector<unsigned __int64,std::allocator<unsigned __int64>>,std::vector<signed char,std::allocator<signed char>>,std::vector<short,std::allocator<short>>,std::vector<int,std::allocator<int>>,std::vector<__int64,std::allocator<__int64>>,std::vector<float,std::allocator<float>>,std::vector<double,std::allocator<double>>,std::vector<long double,std::allocator<long double>>> 1> , T2=unsigned __int64 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply_wrap.hpp(145) : see reference to class template instantiation 'boost::mpl::push_front<boost::mpl::na,boost::mpl::na>::apply<T1,T2,boost::mpl::na,boost::mpl::na,boost::mpl::na>' being compiled 1> with 1> [ 1> T1=boost::mpl::vector20<signed char,short,int,__int64,float,double,long double,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>,std::vector<bool,std::allocator<bool>>,std::vector<unsigned char,std::allocator<unsigned char>>,std::vector<unsigned short,std::allocator<char16_t>>,std::vector<unsigned int,std::allocator<char32_t>>,std::vector<unsigned __int64,std::allocator<unsigned __int64>>,std::vector<signed char,std::allocator<signed char>>,std::vector<short,std::allocator<short>>,std::vector<int,std::allocator<int>>,std::vector<__int64,std::allocator<__int64>>,std::vector<float,std::allocator<float>>,std::vector<double,std::allocator<double>>,std::vector<long double,std::allocator<long double>>> 1> , T2=unsigned __int64 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply.hpp(154) : see reference to class template instantiation 'boost::mpl::apply_wrap2<boost::mpl::lambda<F,boost::mpl::void_>::type,T1,T2>' being compiled 1> with 1> [ 1> F=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , T1=boost::mpl::vector20<signed char,short,int,__int64,float,double,long double,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>,std::vector<bool,std::allocator<bool>>,std::vector<unsigned char,std::allocator<unsigned char>>,std::vector<unsigned short,std::allocator<char16_t>>,std::vector<unsigned int,std::allocator<char32_t>>,std::vector<unsigned __int64,std::allocator<unsigned __int64>>,std::vector<signed char,std::allocator<signed char>>,std::vector<short,std::allocator<short>>,std::vector<int,std::allocator<int>>,std::vector<__int64,std::allocator<__int64>>,std::vector<float,std::allocator<float>>,std::vector<double,std::allocator<double>>,std::vector<long double,std::allocator<long double>>> 1> , T2=unsigned __int64 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151) : see reference to class template instantiation 'boost::mpl::apply2<BackwardOp,boost::mpl::vector20<T,short,int,__int64,float,double,long double,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::allocator<_Ty>>,std::vector<bool,std::allocator<bool>>,std::vector<unsigned char,std::allocator<unsigned char>>,std::vector<unsigned short,std::allocator<char16_t>>,std::vector<unsigned int,std::allocator<char32_t>>,std::vector<unsigned __int64,std::allocator<unsigned __int64>>,std::vector<T,std::allocator<signed char>>,std::vector<short,std::allocator<short>>,std::vector<int,std::allocator<int>>,std::vector<__int64,std::allocator<__int64>>,std::vector<float,std::allocator<float>>,std::vector<double,std::allocator<double>>,std::vector<long double,std::allocator<long double>>>,unsigned __int64>' being compiled 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , T=signed char 1> , _Ty=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(149) : see reference to class template instantiation 'boost::mpl::aux::reverse_fold_impl<-1,boost::mpl::joint_iter<L1,L1,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,3>,boost::mpl::v_iter<Vector,8>,I2>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,0>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,0>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>, 2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mp l ::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>,Last,boost::mpl::vector0<boost::mpl::na>,BackwardOp,ForwardOp>' being compiled 1> with 1> [ 1> L1=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0> 1> , T0=std::string 1> , T1=bool 1> , Vector=boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t> 1> , I2=boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0> 1> , T2=long double 1> , F=make_vector 1> , Tag=boost::mpl::void_ 1> , Last=boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>> 1> , BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , ForwardOp=boost::mpl::arg<1> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(149) : see reference to class template instantiation 'boost::mpl::aux::reverse_fold_impl<-1,boost::mpl::joint_iter<L1,L1,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,2>,boost::mpl::v_iter<Vector,8>,I2>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,0>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,0>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>, 2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mp l ::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>,Last,boost::mpl::vector0<boost::mpl::na>,BackwardOp,ForwardOp>' being compiled 1> with 1> [ 1> L1=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0> 1> , T0=std::string 1> , T1=bool 1> , Vector=boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t> 1> , I2=boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0> 1> , T2=long double 1> , F=make_vector 1> , Tag=boost::mpl::void_ 1> , Last=boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>> 1> , BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , ForwardOp=boost::mpl::arg<1> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(149) : see reference to class template instantiation 'boost::mpl::aux::reverse_fold_impl<-1,boost::mpl::joint_iter<L1,L1,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,1>,boost::mpl::v_iter<Vector,8>,I2>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,0>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,0>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>, 2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mp l ::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<Vector,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,T2>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>,Last,boost::mpl::vector0<boost::mpl::na>,BackwardOp,ForwardOp>' being compiled 1> with 1> [ 1> L1=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0> 1> , T0=std::string 1> , T1=bool 1> , Vector=boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t> 1> , I2=boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0> 1> , T2=long double 1> , F=make_vector 1> , Tag=boost::mpl::void_ 1> , Last=boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>> 1> , BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , ForwardOp=boost::mpl::arg<1> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(149) : see reference to class template instantiation 'boost::mpl::aux::reverse_fold_impl<-1,boost::mpl::joint_iter<L1,L1,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,I2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,0>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,0>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>,Last,boost::mpl::vector0<boost::mpl::na>,BackwardOp,ForwardOp>' being compiled 1> with 1> [ 1> L1=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0> 1> , T0=std::string 1> , T1=bool 1> , I2=boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,0>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0>> 1> , T2=uint32_t 1> , T3=uint64_t 1> , T4=int8_t 1> , T5=int16_t 1> , T6=int32_t 1> , T7=int64_t 1> , F=make_vector 1> , Tag=boost::mpl::void_ 1> , Last=boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>> 1> , BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , ForwardOp=boost::mpl::arg<1> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(149) : see reference to class template instantiation 'boost::mpl::aux::reverse_fold_impl<-1,boost::mpl::joint_iter<L1,L1,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<Vector,1>,boost::mpl::v_iter<Vector,2>,I2>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,2>,boost::mpl::v_iter<Vector,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<Vector,0>,boost::mpl::v_iter<Vector,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,0>,boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,2>,boost::mpl::v_iter<Vector,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<Vector,2>,boost::mpl::v_iter<Vector,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,2>,boost::mpl::v_iter<Vector,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<Vector,2>,boost::mpl::v_iter<Vector,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<Vector,2>,boost::mpl::v_iter<Vector,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<T0,T1,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>,Last,boost::mpl::vector0<boost::mpl::na>,BackwardOp,ForwardOp>' being compiled 1> with 1> [ 1> L1=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0> 1> , Vector=boost::mpl::vector2<std::string,bool> 1> , I2=boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,0>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0>> 1> , T0=uint8_t 1> , T1=uint16_t 1> , T2=uint32_t 1> , T3=uint64_t 1> , T4=int8_t 1> , T5=int16_t 1> , T6=int32_t 1> , T7=int64_t 1> , F=make_vector 1> , Tag=boost::mpl::void_ 1> , Last=boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::v_iter<boost::mpl::vector2<std::string,bool>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector8<uint8_t,uint16_t,uint32_t,uint64_t,int8_t,int16_t,int32_t,int64_t>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<make_vector,boost::mpl::void_>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>> 1> , BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , ForwardOp=boost::mpl::arg<1> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/reverse_fold.hpp(41) : see reference to class template instantiation 'boost::mpl::aux::reverse_fold_impl<-1,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,0>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,0>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,0>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,0>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::joint_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::aux::transform_iter<boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::v_iter<boost::mpl::vector2<T0,T1>,2>,boost::mpl::joint_iter<boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector8<unsigned char,unsigned short,T2,T3,T4,T5,T6,T7>,8>,boost::mpl::v_iter<boost::mpl::vector3<float,double,long double>,3>>>,boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>>>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>,State,BackwardOp,ForwardOp>' being compiled 1> with 1> [ 1> T0=std::string 1> , T1=bool 1> , T2=uint32_t 1> , T3=uint64_t 1> , T4=int8_t 1> , T5=int16_t 1> , T6=int32_t 1> , T7=int64_t 1> , F=make_vector 1> , Tag=boost::mpl::void_ 1> , State=boost::mpl::vector0<boost::mpl::na> 1> , BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , ForwardOp=boost::mpl::arg<1> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/copy.hpp(49) : see reference to class template instantiation 'boost::mpl::reverse_fold<Sequence,boost::mpl::vector0<boost::mpl::na>,boost::mpl::push_front<boost::mpl::na,boost::mpl::na>,boost::mpl::arg<1>>' being compiled 1> with 1> [ 1> Sequence=boost::mpl::joint_view<boost::mpl::iterator_range<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>,boost::mpl::joint_view<all_types_view,boost::mpl::iterator_range<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/copy.hpp(54) : see reference to class template instantiation 'boost::mpl::aux::reverse_copy_impl<P1,P2>' being compiled 1> with 1> [ 1> P1=boost::mpl::joint_view<boost::mpl::iterator_range<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>,boost::mpl::joint_view<all_types_view,boost::mpl::iterator_range<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>>>> 1> , P2=boost::mpl::front_inserter<boost::mpl::clear_impl<boost::mpl::aux::vector_tag<0>>::apply<boost::mpl::vector0<boost::mpl::na>>::type> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/insert_range_impl.hpp(56) : see reference to class template instantiation 'boost::mpl::reverse_copy<boost::mpl::joint_view<boost::mpl::iterator_range<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,Pos>,boost::mpl::joint_view<Range,boost::mpl::iterator_range<boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,Pos>>>,boost::mpl::front_inserter<boost::mpl::clear_impl<boost::mpl::aux::vector_tag<0>>::apply<Sequence>::type>>' being compiled 1> with 1> [ 1> Pos=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0> 1> , Range=all_types_view 1> , Sequence=boost::mpl::vector0<boost::mpl::na> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/insert_range.hpp(33) : see reference to class template instantiation 'boost::mpl::insert_range_impl<boost::mpl::aux::vector_tag<0>>::apply<Sequence,Pos,Range>' being compiled 1> with 1> [ 1> Sequence=boost::mpl::vector0<boost::mpl::na> 1> , Pos=boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0> 1> , Range=all_types_view 1> ] 1> D:\bioformats\cpp\test\ome-bioformats\testinclude.cpp(63) : see reference to class template instantiation 'boost::mpl::insert_range<boost::mpl::vector0<boost::mpl::na>,boost::mpl::v_iter<boost::mpl::vector0<boost::mpl::na>,0>,all_types_view>' being compiled 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151): error C2039: 'type' : is not a member of 'boost::mpl::apply2<BackwardOp,boost::mpl::vector20<T,short,int,__int64,float,double,long double,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::allocator<_Ty>>,std::vector<bool,std::allocator<bool>>,std::vector<unsigned char,std::allocator<unsigned char>>,std::vector<unsigned short,std::allocator<char16_t>>,std::vector<unsigned int,std::allocator<char32_t>>,std::vector<unsigned __int64,std::allocator<unsigned __int64>>,std::vector<T,std::allocator<signed char>>,std::vector<short,std::allocator<short>>,std::vector<int,std::allocator<int>>,std::vector<__int64,std::allocator<__int64>>,std::vector<float,std::allocator<float>>,std::vector<double,std::allocator<double>>,std::vector<long double,std::allocator<long double>>>,unsigned __int64>' 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , T=signed char 1> , _Ty=std::basic_string<char,std::char_traits<char>,std::allocator<char>> 1> ] 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151): error C3203: 'type' : unspecialized class template can't be used as a template argument for template parameter 'T1', expected a real type 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/push_front.hpp(31): error C2903: 'apply' : symbol is neither a class template nor a function template 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/push_front.hpp(47) : see reference to class template instantiation 'boost::mpl::push_front<T1,T2>' being compiled 1> with 1> [ 1> T1=int 1> , T2=unsigned int 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply_wrap.hpp(145) : see reference to class template instantiation 'boost::mpl::push_front<boost::mpl::na,boost::mpl::na>::apply<T1,T2,boost::mpl::na,boost::mpl::na,boost::mpl::na>' being compiled 1> with 1> [ 1> T1=int 1> , T2=unsigned int 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply.hpp(154) : see reference to class template instantiation 'boost::mpl::apply_wrap2<boost::mpl::lambda<F,boost::mpl::void_>::type,T1,T2>' being compiled 1> with 1> [ 1> F=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> , T1=int 1> , T2=unsigned int 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151) : see reference to class template instantiation 'boost::mpl::apply2<BackwardOp,int,unsigned int>' being compiled 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> ] 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/push_front.hpp(31): error C2039: 'apply' : is not a member of 'boost::mpl::push_front_impl<boost::mpl::non_sequence_tag>' 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/push_front_impl.hpp(66) : see declaration of 'boost::mpl::push_front_impl<boost::mpl::non_sequence_tag>' 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/push_front.hpp(31): error C2955: 'boost::mpl::apply' : use of class template requires template argument list 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply.hpp(188) : see declaration of 'boost::mpl::apply' 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/push_front.hpp(31): error C2143: syntax error : missing ',' before '<' 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151): error C2039: 'type' : is not a member of 'boost::mpl::apply2<BackwardOp,int,unsigned int>' 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/push_front_impl.hpp(66) : see declaration of 'boost::mpl::push_front_impl<boost::mpl::non_sequence_tag>' 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply.hpp(188) : see declaration of 'boost::mpl::apply' 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151): error C2039: 'type' : is not a member of 'boost::mpl::apply2<BackwardOp,int,unsigned short>' 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/push_front_impl.hpp(66) : see declaration of 'boost::mpl::push_front_impl<boost::mpl::non_sequence_tag>' 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply.hpp(188) : see declaration of 'boost::mpl::apply' 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151): error C2039: 'type' : is not a member of 'boost::mpl::apply2<BackwardOp,int,unsigned char>' 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/push_front_impl.hpp(66) : see declaration of 'boost::mpl::push_front_impl<boost::mpl::non_sequence_tag>' 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply.hpp(188) : see declaration of 'boost::mpl::apply' 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151): error C2039: 'type' : is not a member of 'boost::mpl::apply2<BackwardOp,int,bool>' 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> ] 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/push_front_impl.hpp(66) : see declaration of 'boost::mpl::push_front_impl<boost::mpl::non_sequence_tag>' 1> D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/apply.hpp(188) : see declaration of 'boost::mpl::apply' 1>D:\bioformats\v1\superbuild-install\include\boost-1_58\boost/mpl/aux_/reverse_fold_impl_body.hpp(151): error C2039: 'type' : is not a member of 'boost::mpl::apply2<BackwardOp,int,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>' 1> with 1> [ 1> BackwardOp=boost::mpl::push_front<boost::mpl::na,boost::mpl::na> 1> ] 1> The command exited with code 2. ------------------------------------------------------------------------