Use BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN as some compilers prefer return type SFINAE while others don't support it.

This commit is contained in:
Ion Gaztañaga
2015-10-17 09:39:34 +02:00
parent 4ac2fa0d38
commit a91afcbde4

View File

@@ -60,14 +60,18 @@ struct key_nodeptr_comp
//key_forward
template<class T>
const key_type &key_forward
(const T &node, typename enable_if<is_node_ptr<T> >::type* =0) const
typename enable_if<is_node_ptr<T>, 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<class T>
const T &key_forward
(const T &key, typename disable_if<is_node_ptr<T> >::type* =0) const
const T &key_forward (const T &key, typename disable_if<is_node_ptr<T> >::type* =0) const
{ return key; }
#else
template<class T>
typename disable_if<is_node_ptr<T>, const T &>::type key_forward(const T &key) const
{ return key; }
#endif
//operator() 1 arg
template<class KeyType>