id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 2849,function_equal should work with binds holding weak_ptr values,Gareth Sylvester-Bradley ,Peter Dimov,"http://lists.boost.org/Archives/boost/2008/07/139970.php To fix the compiler error in the program below, please can we add the following (e.g. to boost/bind.hpp) - {{{ #include namespace boost { namespace _bi { template bool ref_compare( value< weak_ptr > const & a, value< weak_ptr > const & b, long ) { return !(a.get() < b.get()) && !(b.get() < a.get()); } } } }}} -- main.cpp -- {{{ #include #include #include int h( boost::weak_ptr wp ) { return wp.use_count(); } template < typename F > bool self_equal( F f_ ) { return function_equal( f_, f_ ); } int main( int argc, char * const argv[] ) { self_equal( boost::bind( h, _1 ) ); // OK self_equal( boost::bind( h, boost::weak_ptr() ) ); // compiler error return 0; } }}} ",Bugs,closed,Boost 1.39.0,bind,Boost 1.35.0,Problem,fixed,,