diff --git a/include/boost/intrusive/detail/key_nodeptr_comp.hpp b/include/boost/intrusive/detail/key_nodeptr_comp.hpp index 98660c7..171a2e8 100644 --- a/include/boost/intrusive/detail/key_nodeptr_comp.hpp +++ b/include/boost/intrusive/detail/key_nodeptr_comp.hpp @@ -60,14 +60,18 @@ struct key_nodeptr_comp //key_forward template - const key_type &key_forward - (const T &node, typename enable_if >::type* =0) const + typename enable_if, const key_type &>::type key_forward(const T &node) const { return key_of_value()(*traits_->to_value_ptr(node)); } + #if defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN) template - const T &key_forward - (const T &key, typename disable_if >::type* =0) const + const T &key_forward (const T &key, typename disable_if >::type* =0) const { return key; } + #else + template + typename disable_if, const T &>::type key_forward(const T &key) const + { return key; } + #endif //operator() 1 arg template