Re: [boost] Problem with mpl::iter_fold_if.hpp in vacpp 6.0

Joaquín Mª López Muñoz wrote:
Hi Toon, maybe we have advanced a little, since, if I'm ont wrong, the error triggers at the second argument of the ctor. I've applied a similar patch to this as well. Could you please try the attached file?
This seems to solve the problem in the multi_index library ;-) but now compilation is aborted due to errors encountered while including the tuple library in the multi_index library ;-( See the compiler-messages in attachment: ...found 1065 targets... ...updating 72 targets... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/multi_index/test/test_basic.test/vacpp/debug/test_basic.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/mpl/set/aux_/item.hpp", line 82.25: 1540-0095 (W) The friend function declaration "operator/" will cause an error when the enclosing template class is instantiated with arguments that declare a friend function that does not match an existing definition. The function declares only one function because it is not a template but the function type depends on one or more template parameters. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/mpl/set/aux_/item.hpp", line 83.25: 1540-0095 (W) The friend function declaration "operator%" will cause an error when the enclosing template class is instantiated with arguments that declare a friend function that does not match an existing definition. The function declares only one function because it is not a template but the function type depends on one or more template parameters. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<1,boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> >(const cons<boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> > &)". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 451.10: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_basic.cpp", line 40.25: 1540-0700 (I) The previous message was produced while processing "test_basic()". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<0,boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> >(const cons<boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> > &)". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 450.9: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_basic.cpp", line 40.25: 1540-0700 (I) The previous message was produced while processing "test_basic()". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<1,boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::tuples::null_type> >(const cons<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std:...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 451.10: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::age>,std::less<int>,boost::multi_index::detail::sequenced_index<boost::multi_index::detail::index_bas...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 443.5: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_basic.cpp", line 40.25: 1540-0700 (I) The previous message was produced while processing "test_basic()". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<0,boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::tuples::null_type> >(const cons<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std:...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 450.9: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::age>,std::less<int>,boost::multi_index::detail::sequenced_index<boost::multi_index::detail::index_bas...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 443.5: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_basic.cpp", line 40.25: 1540-0700 (I) The previous message was produced while processing "test_basic()". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/multi_index/test" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/multi_index/test/test_basic.test/vacpp/debug/test_basic.o" "../../../libs/multi_index/test/test_basic.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/multi_index/test/test_basic.test/vacpp/debug/test_basic.o... ...skipped <@boost!libs!multi_index!test/test_basic.test/vacpp/debug>test_basic for lack of <@boost!libs!multi_index!test/test_basic.test/vacpp/debug>test_basic.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/multi_index/test/test_capacity.test/vacpp/debug/test_capacity.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/mpl/set/aux_/item.hpp", line 82.25: 1540-0095 (W) The friend function declaration "operator/" will cause an error when the enclosing template class is instantiated with arguments that declare a friend function that does not match an existing definition. The function declares only one function because it is not a template but the function type depends on one or more template parameters. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/mpl/set/aux_/item.hpp", line 83.25: 1540-0095 (W) The friend function declaration "operator%" will cause an error when the enclosing template class is instantiated with arguments that declare a friend function that does not match an existing definition. The function declares only one function because it is not a template but the function type depends on one or more template parameters. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<0,boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> >(const cons<boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> > &)". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 450.9: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_capacity.cpp", line 22.16: 1540-0700 (I) The previous message was produced while processing "test_capacity()". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<1,boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> >(const cons<boost::multi_index::identity<employee>,boost::tuples::cons<std::less<employee>,boost::tuples::null_type> > &)". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 451.10: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_capacity.cpp", line 22.16: 1540-0700 (I) The previous message was produced while processing "test_capacity()". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<1,boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::tuples::null_type> >(const cons<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std:...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 451.10: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::age>,std::less<int>,boost::multi_index::detail::sequenced_index<boost::multi_index::detail::index_bas...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 443.5: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_capacity.cpp", line 22.16: 1540-0700 (I) The previous message was produced while processing "test_capacity()". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 211.1: 1540-0700 (I) The previous message was produced while processing "boost::tuples::get<0,boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::tuples::null_type> >(const cons<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,boost::tuples::cons<std::less<std:...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 450.9: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::age>,std::less<int>,boost::multi_index::detail::sequenced_index<boost::multi_index::detail::index_bas...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index/ordered_index.hpp", line 443.5: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::detail::ordered_index<boost::multi_index::identity<employee>,std::less<employee>,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,&employee::name>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,boost::multi_index::detail::ordered_index<boost::multi_index::member<employee,int,&employee::...". "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/multi_index_container.hpp", line 130.12: 1540-0700 (I) The previous message was produced while processing "boost::multi_index::multi_index_container<struct employee,struct boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::identity<employee>,boost::multi_index::detail::null_arg,boost::multi_index::detail::null_arg>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<name,by_name,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl::void_,boost::mpl...". "../../../libs/multi_index/test/test_capacity.cpp", line 22.16: 1540-0700 (I) The previous message was produced while processing "test_capacity()". xlC -c -I/home/tk/ext_projects/boost/boost_tknapen/boost -qNOOPTimize -qnoinline -g -qfullpath -qnotempinc -qfuncsect -qeh -qrtti -I"/home/tk/cvstop/DO/bin/boost/libs/multi_index/test" -I"/home/tk/ext_projects/boost/boost_tknapen/boost" -o "/home/tk/cvstop/DO/bin/boost/libs/multi_index/test/test_capacity.test/vacpp/debug/test_capacity.o" "../../../libs/multi_index/test/test_capacity.cpp" ...failed xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/multi_index/test/test_capacity.test/vacpp/debug/test_capacity.o... ...skipped <@boost!libs!multi_index!test/test_capacity.test/vacpp/debug>test_capacity for lack of <@boost!libs!multi_index!test/test_capacity.test/vacpp/debug>test_capacity.o... xlc-C++-action /home/tk/cvstop/DO/bin/boost/libs/multi_index/test/test_comparison.test/vacpp/debug/test_comparison.o "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/mpl/set/aux_/item.hpp", line 82.25: 1540-0095 (W) The friend function declaration "operator/" will cause an error when the enclosing template class is instantiated with arguments that declare a friend function that does not match an existing definition. The function declares only one function because it is not a template but the function type depends on one or more template parameters. "/home/tk/ext_projects/boost/boost_tknapen/boost/boost/mpl/set/aux_/item.hpp", line 83.25: 1540-0095 (W) The friend function declaration "operator%" will cause an error when the enclosing template class is instantiated with arguments that declare a friend function that does not match an existing definition. The function declares only one function because it is not a template but the function type depends on one or more template parameters.

Toon Knapen ha escrito:
Joaquín Mª López Muñoz wrote:
Hi Toon, maybe we have advanced a little, since, if I'm ont wrong, the error triggers at the second argument of the ctor. I've applied a similar patch to this as well. Could you please try the attached file?
This seems to solve the problem in the multi_index library ;-)
OK, I'll be commiting this patch to the Main CVS during this morning. The workaround is ugly as sin, but I'm not much concerned as it is strictly vacpp-specific. We can refine it later on.
but now compilation is aborted due to errors encountered while including the tuple library in the multi_index library ;-(
See the compiler-messages in attachment:
[...]
"/home/tk/ext_projects/boost/boost_tknapen/boost/boost/tuple/detail/tuple_basic.hpp", line 214.12: 1540-0711 (S) Too few template arguments have been specified.
Well, the problem seems easy to fix, but it should be the author of Boost.Tuple who has the last word on this. Looks like it only takes replacing the following in boost/tuple/detail/tuple_basic.hpp template<int N, class HT, class TT> inline typename access_traits< typename element<N, cons<HT, TT> >::type >::non_const_type get(cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) { return detail::get_class<N>::BOOST_NESTED_TEMPLATE get< typename access_traits< typename element<N, cons<HT, TT> >::type >::non_const_type>(c); } with template<int N, class HT, class TT> inline typename access_traits< typename element<N, cons<HT, TT> >::type >::non_const_type get(cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) { return detail::get_class<N>::BOOST_NESTED_TEMPLATE get< typename access_traits< typename element<N, cons<HT, TT> >::type >::non_const_type, HT, TT // new line >(c); } There are two places where the change should be done. Maybe you can do the changes locally and see what happens. Is this use case covered by Boost.Tuple tests? I wonder why it popped out in the context of Boost.MultiIndex. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

Joaquín Mª López Muñoz <joaquin@tid.es> writes:
Well, the problem seems easy to fix, but it should be the author of Boost.Tuple who has the last word on this. Looks like it only takes replacing the following in boost/tuple/detail/tuple_basic.hpp
You should know, if you're fixing up tuples, that the current implementation of that library is scheduled to be completely replaced with the contents of boost/spirit/fusion. I think that probably won't happen until after the next release, but just FYI... -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (3)
-
David Abrahams
-
Joaquín Mª López Muñoz
-
Toon Knapen