diff DEPENDENCIES/generic/include/boost/variant/detail/initializer.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/variant/detail/initializer.hpp	Fri Sep 04 12:01:02 2015 +0100
+++ b/DEPENDENCIES/generic/include/boost/variant/detail/initializer.hpp	Mon Sep 07 11:12:49 2015 +0100
@@ -152,12 +152,12 @@
 
 #else // defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
 
-#   if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) 
-
+    // Obsolete. Remove.
     #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_PARAMS \
           BOOST_VARIANT_ENUM_PARAMS(typename recursive_enabled_T) \
     /**/
 
+    // Obsolete. Remove.
     #define BOOST_VARIANT_AUX_PP_INITIALIZER_DEFINE_PARAM_T(N) \
         typedef typename unwrap_recursive< \
               BOOST_PP_CAT(recursive_enabled_T,N) \
@@ -167,25 +167,18 @@
             >::param_type BOOST_PP_CAT(param_T,N); \
     /**/
 
-#   else // MSVC7 and below
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_PARAMS \
-          BOOST_VARIANT_ENUM_PARAMS(typename recursive_enabled_T) \
-        , BOOST_VARIANT_ENUM_PARAMS(typename param_T) \
-    /**/
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_DEFINE_PARAM_T(N) \
-    /**/
-
-#   endif // MSVC7 and below workaround
-
-template < BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_PARAMS >
+template < BOOST_VARIANT_ENUM_PARAMS(typename recursive_enabled_T) >
 struct preprocessor_list_initializer
 {
 public: // static functions
 
     #define BOOST_VARIANT_AUX_PP_INITIALIZE_FUNCTION(z,N,_) \
-        BOOST_VARIANT_AUX_PP_INITIALIZER_DEFINE_PARAM_T(N) \
+        typedef typename unwrap_recursive< \
+              BOOST_PP_CAT(recursive_enabled_T,N) \
+            >::type BOOST_PP_CAT(public_T,N); \
+        typedef typename call_traits< \
+              BOOST_PP_CAT(public_T,N) \
+            >::param_type BOOST_PP_CAT(param_T,N); \
         static int initialize( \
               void* dest \
             , BOOST_PP_CAT(param_T,N) operand \
@@ -210,22 +203,6 @@
 
 };
 
-#   if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-#if !defined(BOOST_VARIANT_AUX_ECHO)
-#   define BOOST_VARIANT_AUX_ECHO(z,N,token) token
-#endif
-
-template <>
-struct preprocessor_list_initializer<
-      BOOST_PP_ENUM(BOOST_VARIANT_LIMIT_TYPES, BOOST_VARIANT_AUX_ECHO, int)
-    , BOOST_PP_ENUM(BOOST_VARIANT_LIMIT_TYPES, BOOST_VARIANT_AUX_ECHO, const int)
-    >
-{
-};
-
-#   endif // BOOST_MPL_CFG_MSVC_60_ETI_BUG workaround
-
 #endif // BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE workaround
 
 }} // namespace detail::variant
@@ -256,34 +233,14 @@
 
 #else // defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)
 
-#   if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
+    // Obsolete. Remove.
     #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_ARGS(typename_base) \
           BOOST_VARIANT_ENUM_PARAMS(typename_base) \
         /**/
 
-#   else // MSVC7 and below
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_ENUM_PARAM_TYPE(z,N,T) \
-        ::boost::call_traits< \
-              ::boost::unwrap_recursive<BOOST_PP_CAT(T,N)>::type \
-            >::param_type \
-        /**/
-
-    #define BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_ARGS(typename_base) \
-          BOOST_VARIANT_ENUM_PARAMS(typename_base) \
-        , BOOST_PP_ENUM( \
-              BOOST_VARIANT_LIMIT_TYPES \
-            , BOOST_VARIANT_AUX_PP_INITIALIZER_ENUM_PARAM_TYPE \
-            , typename_base \
-            ) \
-        /**/
-
-#   endif // MSVC7 workaround
-
 #define BOOST_VARIANT_AUX_INITIALIZER_T( mpl_seq, typename_base ) \
     ::boost::detail::variant::preprocessor_list_initializer< \
-          BOOST_VARIANT_AUX_PP_INITIALIZER_TEMPLATE_ARGS(typename_base) \
+          BOOST_VARIANT_ENUM_PARAMS(typename_base) \
         > \
     /**/