Commit 6bdad19f authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook Github Bot 6

Deprecate boost::mpl

Summary:
[Folly] Deprecate `boost::mpl`.

The `std` has equivalents; prefer them.

Reviewed By: Gownta

Differential Revision: D3247294

fb-gh-sync-id: 873697b7ea3ad069ff14662bc458a2e1cc840339
fbshipit-source-id: 873697b7ea3ad069ff14662bc458a2e1cc840339
parent 7c5318a4
......@@ -37,9 +37,7 @@
#endif
#include <boost/type_traits.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/has_xxx.hpp>
#include <boost/mpl/not.hpp>
namespace folly {
......@@ -289,8 +287,9 @@ template <class T> class shared_ptr;
template <class T, class U>
struct has_nothrow_constructor< std::pair<T, U> >
: ::boost::mpl::and_< has_nothrow_constructor<T>,
has_nothrow_constructor<U> > {};
: std::integral_constant<bool,
has_nothrow_constructor<T>::value &&
has_nothrow_constructor<U>::value> {};
} // namespace boost
......@@ -298,8 +297,10 @@ namespace folly {
// STL commonly-used types
template <class T, class U>
struct IsRelocatable< std::pair<T, U> >
: ::boost::mpl::and_< IsRelocatable<T>, IsRelocatable<U> > {};
struct IsRelocatable< std::pair<T, U> >
: std::integral_constant<bool,
IsRelocatable<T>::value &&
IsRelocatable<U>::value> {};
// Is T one of T1, T2, ..., Tn?
template <class T, class... Ts>
......
......@@ -42,11 +42,11 @@
#include <boost/mpl/empty.hpp>
#include <boost/mpl/size.hpp>
#include <boost/mpl/count.hpp>
#include <boost/mpl/max.hpp>
#include <folly/FormatTraits.h>
#include <folly/Malloc.h>
#include <folly/Portability.h>
#include <folly/portability/Constexpr.h>
#include <folly/portability/Malloc.h>
#if defined(__GNUC__) && (FOLLY_X64 || FOLLY_PPC64)
......@@ -355,10 +355,8 @@ class small_vector
* into our value_type*, we will inline more than they asked.)
*/
enum {
MaxInline = boost::mpl::max<
boost::mpl::int_<sizeof(Value*) / sizeof(Value)>,
boost::mpl::int_<RequestedMaxInline>
>::type::value
MaxInline =
constexpr_max(sizeof(Value*) / sizeof(Value), RequestedMaxInline),
};
public:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment