diff DEPENDENCIES/generic/include/boost/functional/factory.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/functional/factory.hpp	Fri Sep 04 12:01:02 2015 +0100
+++ b/DEPENDENCIES/generic/include/boost/functional/factory.hpp	Mon Sep 07 11:12:49 2015 +0100
@@ -15,11 +15,14 @@
 
 #     include <new>
 #     include <boost/pointee.hpp>
-#     include <boost/none_t.hpp>
 #     include <boost/get_pointer.hpp>
 #     include <boost/non_type.hpp>
 #     include <boost/type_traits/remove_cv.hpp>
 
+#     if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T)
+#       include <boost/none_t.hpp>
+#     endif
+
 #     ifndef BOOST_FUNCTIONAL_FACTORY_MAX_ARITY
 #       define BOOST_FUNCTIONAL_FACTORY_MAX_ARITY 10
 #     elif BOOST_FUNCTIONAL_FACTORY_MAX_ARITY < 3
@@ -35,14 +38,20 @@
         factory_passes_alloc_to_smart_pointer
     };
 
+#if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T)
     template< typename Pointer, class Allocator = boost::none_t,
         factory_alloc_propagation AP = factory_alloc_for_pointee_and_deleter >
     class factory;
+#else
+    template< typename Pointer, class Allocator = void,
+        factory_alloc_propagation AP = factory_alloc_for_pointee_and_deleter >
+    class factory;
+#endif
 
     //----- ---- --- -- - -  -   -
 
     template< typename Pointer, factory_alloc_propagation AP >
-    class factory<Pointer, boost::none_t, AP> 
+    class factory<Pointer, void, AP>
     {
       public:
         typedef typename boost::remove_cv<Pointer>::type result_type;
@@ -56,6 +65,13 @@
 #     include BOOST_PP_ITERATE()
     };
 
+#if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T)
+    template< typename Pointer, factory_alloc_propagation AP >
+    class factory<Pointer, boost::none_t, AP>
+        : public factory<Pointer, void, AP>
+    {};
+#endif
+
     template< class Pointer, class Allocator, factory_alloc_propagation AP >
     class factory
         : private Allocator::template rebind< typename boost::pointee<