id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6715,Derived from iterator_range and operator==,Olaf van der Spek ,Neil Groves,"Shouldn't this just work? Comparing two boost::iterator_range works fine. {{{ #include class str_ref : public boost::iterator_range { }; int main() { boost::iterator_range a; a == a; str_ref b; b == b; // 12 } is.cpp: In function ‘int main()’: is.cpp:12:7: error: ambiguous overload for ‘operator==’ in ‘b == b’ is.cpp:12:7: note: candidates are: is.cpp:12:7: note: operator==(boost::iterator_range::unspecified_bool_type {aka const char* boost::iterator_range::*}, boost::iterator_range::unspecified_bool_type {aka const char* boost::iterator_range::*}) /usr/include/boost/range/iterator_range_core.hpp:438:21: note: bool boost::operator==(const boost::iterator_range&, const ForwardRange&) [with IteratorT = const char*, ForwardRange = str_ref] /usr/include/boost/range/iterator_range_core.hpp:431:21: note: bool boost::operator==(const boost::iterator_range&, const boost::iterator_range&) [with Iterator1T = const char*, Iterator2T = const char*] /usr/include/boost/range/iterator_range_core.hpp:387:21: note: bool boost::operator==(const ForwardRange&, const boost::iterator_range&) [with IteratorT = const char*, ForwardRange = str_ref] }}}",Bugs,closed,To Be Determined,range,Boost 1.49.0,Problem,fixed,,