diff --git a/include/boost/bind.hpp b/include/boost/bind.hpp index bf4325a..2b89c13 100644 --- a/include/boost/bind.hpp +++ b/include/boost/bind.hpp @@ -120,9 +120,9 @@ template struct unwrapper return f; } - template static inline F2 & unwrap( reference_wrapper const & f, int ) + template static inline F2 & unwrap( reference_wrapper rf, int ) { - return f->get(); + return rf.get(); } template static inline _mfi::dm unwrap( R T::* pm, int ) diff --git a/include/boost/mem_fn.hpp b/include/boost/mem_fn.hpp index 7097d43..9695f57 100644 --- a/include/boost/mem_fn.hpp +++ b/include/boost/mem_fn.hpp @@ -328,11 +328,6 @@ private: return (u.*f_); } - template R & call(U & u, T *) const - { - return (u.*f_); - } - template R const & call(U & u, void const *) const { return (get_pointer(u)->*f_); @@ -352,7 +347,7 @@ public: return (p->*f_); } - template R const & operator()(U & u) const + template R const & operator()(U const & u) const { return call(u, &u); } @@ -364,13 +359,13 @@ public: return (t.*f_); } -#endif - R const & operator()(T const & t) const { return (t.*f_); } +#endif + bool operator==(dm const & rhs) const { return f_ == rhs.f_;