Modernize relational operators for shared_ptr and unique_ptr. This includes adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056.
llvm-svn: 151084
diff --git a/libcxx/include/__functional_base b/libcxx/include/__functional_base
index ed7d21b..63aa41d 100644
--- a/libcxx/include/__functional_base
+++ b/libcxx/include/__functional_base
@@ -50,6 +50,13 @@
static const bool value = sizeof(__test<_Tp>(0)) == 1;
};
+template <class _Tp>
+struct _LIBCPP_VISIBLE less : binary_function<_Tp, _Tp, bool>
+{
+ _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const
+ {return __x < __y;}
+};
+
#ifdef _LIBCPP_HAS_NO_VARIADICS
#include <__functional_base_03>