Control: tag -1 + help Hi Mattia,
> We would like to ship only one boost in stretch, therefore¹ > https://anonscm.debian.org/cgit/debian-med/dindel.git/commit/?id=7fbf620a559dbac03aa56e7eec27d94cf225c8ea > is not something nice for that :) Point taken ;) However, when switching back to Boost 1.61 I have no idea of how to make BOOST_FOREACH work with the std::sets in there; I don’t have much Boost experience. Maybe someone more knowledgeable in C++ could help - thanks! Example: DInDel.cpp:1985:7: note: in expansion of macro ‘BOOST_FOREACH’ BOOST_FOREACH(int r, selReads) { ^ foreach.hpp:644:96: error: no matching function for call to ‘encode_type(std::set<int>&, boost::is_const<std::set<int> >*)’ (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) ^ foreach.hpp:768:9: note: in expansion of macro ‘BOOST_FOREACH_TYPEOF’ , BOOST_FOREACH_TYPEOF(COL)) ^~~~~~~~~~~~~~~~~~~~ foreach.hpp:808:35: note: in expansion of macro ‘BOOST_FOREACH_NEXT’ _foreach_continue ? BOOST_FOREACH_NEXT(COL) : (void)0) \ ^~~~~~~~~~~~~~~~~~ DInDel.cpp:1985:7: note: in expansion of macro ‘BOOST_FOREACH’ BOOST_FOREACH(int r, selReads) { ^ foreach.hpp:309:22: note: candidate: template<class T> boost::foreach_detail_::type2type<T>* boost::foreach_detail_::encode_type(T&, mpl_::false_*) inline type2type<T> *encode_type(T &, boost::mpl::false_ *) { return 0; } ^~~~~~~~~~~ foreach.hpp:309:22: note: template argument deduction/substitution failed: foreach.hpp:644:91: note: cannot convert ‘boost::foreach_detail_::is_const_<std::set<int> >(selReads)’ (type ‘boost::is_const<std::set<int> >*’) to type ‘mpl_::false_* {aka mpl_::bool_<false>*}’ (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ foreach.hpp:768:9: note: in expansion of macro ‘BOOST_FOREACH_TYPEOF’ , BOOST_FOREACH_TYPEOF(COL)) ^~~~~~~~~~~~~~~~~~~~ foreach.hpp:808:35: note: in expansion of macro ‘BOOST_FOREACH_NEXT’ _foreach_continue ? BOOST_FOREACH_NEXT(COL) : (void)0) \ ^~~~~~~~~~~~~~~~~~ DInDel.cpp:1985:7: note: in expansion of macro ‘BOOST_FOREACH’ BOOST_FOREACH(int r, selReads) { ^ foreach.hpp:312:30: note: candidate: template<class T> boost::foreach_detail_::type2type<T, mpl_::bool_<true> >* boost::foreach_detail_::encode_type(const T&, mpl_::true_*) inline type2type<T, const_> *encode_type(T const &, boost::mpl::true_ *) { return 0; } ^~~~~~~~~~~ foreach.hpp:312:30: note: template argument deduction/substitution failed: foreach.hpp:644:91: note: cannot convert ‘boost::foreach_detail_::is_const_<std::set<int> >(selReads)’ (type ‘boost::is_const<std::set<int> >*’) to type ‘mpl_::true_* {aka mpl_::bool_<true>*}’ (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ foreach.hpp:768:9: note: in expansion of macro ‘BOOST_FOREACH_TYPEOF’ , BOOST_FOREACH_TYPEOF(COL)) ^~~~~~~~~~~~~~~~~~~~ foreach.hpp:808:35: note: in expansion of macro ‘BOOST_FOREACH_NEXT’ _foreach_continue ? BOOST_FOREACH_NEXT(COL) : (void)0) \ ^~~~~~~~~~~~~~~~~~ DInDel.cpp:1985:7: note: in expansion of macro ‘BOOST_FOREACH’ BOOST_FOREACH(int r, selReads) { ^ Cheers Sascha