id summary reporter owner description type status milestone component version severity resolution keywords cc 5486 adjacent_filtered_range::m_pred should be removed iorate Neil Groves "boost::range_detail::adjacent_filtered_range
::m_pred is not only unused, but also inhibits instantiation of the class when P is not default constructible. {{{ rng | boost::adaptors::adjacent_filtered(std::not2(pred)); // error }}} I think m_pred and m_range (which is also unused) should be removed. {{{ #!diff =================================================================== --- adjacent_filtered.hpp +++ adjacent_filtered.hpp (working copy) @@ -143,10 +143,6 @@ skip_iter(boost::end(r), boost::end(r), p)) { } - - private: - P m_pred; - R* m_range; }; template< class T > }}} (When P is not default constructible, the instance of skip_iterator is degraded to an input iterator, but the same goes for filter_iterator.) In case m_pred is not removed, the reference of adjacent_filtered should be modified. Change: {{{ Throws: Whatever the copy constructor of bi_pred might throw. }}} To: {{{ Throws: Whatever the copy constructor and default constructor of bi_pred might throw. }}}" Patches closed To Be Determined range Boost 1.46.1 Problem fixed