|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r49228 - in trunk/boost/mpl: . aux_ aux_/config
From: nicola.musatti_at_[hidden]
Date: 2008-10-09 18:06:08
Author: nmusatti
Date: 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
New Revision: 49228
URL: http://svn.boost.org/trac/boost/changeset/49228
Log:
Applied patch from ticket #2345
Text files modified:
trunk/boost/mpl/apply_wrap.hpp | 27 +++++++++++++++++++++++++++
trunk/boost/mpl/assert.hpp | 6 +++---
trunk/boost/mpl/aux_/config/adl.hpp | 2 +-
trunk/boost/mpl/aux_/config/arrays.hpp | 2 +-
trunk/boost/mpl/aux_/config/bind.hpp | 2 +-
trunk/boost/mpl/aux_/config/compiler.hpp | 2 +-
trunk/boost/mpl/aux_/config/dtp.hpp | 4 ++--
trunk/boost/mpl/aux_/config/forwarding.hpp | 2 +-
trunk/boost/mpl/aux_/config/integral.hpp | 2 +-
trunk/boost/mpl/aux_/config/operators.hpp | 2 +-
trunk/boost/mpl/aux_/config/preprocessor.hpp | 2 +-
trunk/boost/mpl/aux_/config/ttp.hpp | 2 +-
trunk/boost/mpl/aux_/has_rebind.hpp | 4 ++--
trunk/boost/mpl/aux_/lambda_support.hpp | 2 +-
trunk/boost/mpl/lower_bound.hpp | 2 +-
trunk/boost/mpl/quote.hpp | 15 ++++++++++++---
trunk/boost/mpl/upper_bound.hpp | 2 +-
17 files changed, 58 insertions(+), 22 deletions(-)
Modified: trunk/boost/mpl/apply_wrap.hpp
==============================================================================
--- trunk/boost/mpl/apply_wrap.hpp (original)
+++ trunk/boost/mpl/apply_wrap.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -177,6 +177,31 @@
# define j_ BOOST_PP_FRAME_ITERATION(2)
+#if (i_ == 0) && (j_ == 0) && BOOST_WORKAROUND( __BORLANDC__, >= 0x590) && !defined( BOOST_MPL_CFG_NO_HAS_APPLY)
+
+template< typename F, bool F_has_apply >
+struct apply_wrap_impl0_bcb {
+ typedef typename F::template apply< na > type;
+};
+
+template< typename F >
+struct apply_wrap_impl0_bcb< F, true > {
+ typedef typename F::apply type;
+};
+
+template<
+ typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
+ >
+struct BOOST_PP_CAT(apply_wrap_impl,i_)<
+ BOOST_MPL_PP_ADD(i_, j_)
+ , F
+ BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
+ >
+{
+ typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type;
+};
+#else
+
template<
typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
>
@@ -198,6 +223,8 @@
> type;
};
+#endif
+
# undef j_
#endif // BOOST_PP_ITERATION_DEPTH()
Modified: trunk/boost/mpl/assert.hpp
==============================================================================
--- trunk/boost/mpl/assert.hpp (original)
+++ trunk/boost/mpl/assert.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -35,7 +35,7 @@
#include <cstddef>
-#if BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|| (BOOST_MPL_CFG_GCC != 0) \
|| BOOST_WORKAROUND(__IBMCPP__, <= 600)
# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
@@ -43,7 +43,7 @@
#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \
|| BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
- || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|| BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
# define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
#endif
@@ -51,7 +51,7 @@
// agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants)
// and GCC (which issues "unused variable" warnings when static constants are used
// at a function scope)
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|| (BOOST_MPL_CFG_GCC != 0)
# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
#else
Modified: trunk/boost/mpl/aux_/config/adl.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/adl.hpp (original)
+++ trunk/boost/mpl/aux_/config/adl.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -27,7 +27,7 @@
#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \
&& ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
- || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|| BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
|| BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
|| BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \
Modified: trunk/boost/mpl/aux_/config/arrays.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/arrays.hpp (original)
+++ trunk/boost/mpl/aux_/config/arrays.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -19,7 +19,7 @@
#if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+ && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|| BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
)
Modified: trunk/boost/mpl/aux_/config/bind.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/bind.hpp (original)
+++ trunk/boost/mpl/aux_/config/bind.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -21,7 +21,7 @@
#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
&& ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
)
# define BOOST_MPL_CFG_NO_BIND_TEMPLATE
Modified: trunk/boost/mpl/aux_/config/compiler.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/compiler.hpp (original)
+++ trunk/boost/mpl/aux_/config/compiler.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -32,7 +32,7 @@
# elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
# define BOOST_MPL_CFG_COMPILER_DIR gcc
-# elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
# define BOOST_MPL_CFG_COMPILER_DIR bcc551
# else
Modified: trunk/boost/mpl/aux_/config/dtp.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/dtp.hpp (original)
+++ trunk/boost/mpl/aux_/config/dtp.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -25,7 +25,7 @@
#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
&& BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \
- && BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+ && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
@@ -35,7 +35,7 @@
#if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
&& ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \
- || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|| defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
)
Modified: trunk/boost/mpl/aux_/config/forwarding.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/forwarding.hpp (original)
+++ trunk/boost/mpl/aux_/config/forwarding.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -18,7 +18,7 @@
#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+ && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# define BOOST_MPL_CFG_NO_NESTED_FORWARDING
Modified: trunk/boost/mpl/aux_/config/integral.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/integral.hpp (original)
+++ trunk/boost/mpl/aux_/config/integral.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -19,7 +19,7 @@
#if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+ && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
Modified: trunk/boost/mpl/aux_/config/operators.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/operators.hpp (original)
+++ trunk/boost/mpl/aux_/config/operators.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -20,7 +20,7 @@
#if !defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) \
&& ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || BOOST_WORKAROUND(__BORLANDC__, <= 0x600) \
+ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
|| BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \
|| BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \
|| BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \
Modified: trunk/boost/mpl/aux_/config/preprocessor.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/preprocessor.hpp (original)
+++ trunk/boost/mpl/aux_/config/preprocessor.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -18,7 +18,7 @@
#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \
&& ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
+ || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
|| BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
)
Modified: trunk/boost/mpl/aux_/config/ttp.hpp
==============================================================================
--- trunk/boost/mpl/aux_/config/ttp.hpp (original)
+++ trunk/boost/mpl/aux_/config/ttp.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -31,7 +31,7 @@
#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
&& ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
- || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \
+ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
)
# define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
Modified: trunk/boost/mpl/aux_/has_rebind.hpp
==============================================================================
--- trunk/boost/mpl/aux_/has_rebind.hpp (original)
+++ trunk/boost/mpl/aux_/has_rebind.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -25,7 +25,7 @@
# include <boost/mpl/if.hpp>
# include <boost/mpl/bool.hpp>
# include <boost/mpl/aux_/msvc_is_class.hpp>
-#elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# include <boost/mpl/if.hpp>
# include <boost/mpl/bool.hpp>
# include <boost/mpl/aux_/yes_no.hpp>
@@ -62,7 +62,7 @@
template< typename T > struct has_rebind_tag {};
no_tag operator|(has_rebind_tag<int>, void const volatile*);
-# if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
template< typename T >
struct has_rebind
{
Modified: trunk/boost/mpl/aux_/lambda_support.hpp
==============================================================================
--- trunk/boost/mpl/aux_/lambda_support.hpp (original)
+++ trunk/boost/mpl/aux_/lambda_support.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -110,7 +110,7 @@
typedef BOOST_PP_CAT(name,_rebind) rebind; \
/**/
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
template< BOOST_MPL_PP_PARAMS(i,typename T) > \
::boost::mpl::aux::yes_tag operator|( \
Modified: trunk/boost/mpl/lower_bound.hpp
==============================================================================
--- trunk/boost/mpl/lower_bound.hpp (original)
+++ trunk/boost/mpl/lower_bound.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -19,7 +19,7 @@
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# define BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL
#endif
Modified: trunk/boost/mpl/quote.hpp
==============================================================================
--- trunk/boost/mpl/quote.hpp (original)
+++ trunk/boost/mpl/quote.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -25,7 +25,7 @@
#include <boost/mpl/aux_/config/ttp.hpp>
-#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
+#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) && !BOOST_WORKAROUND( __BORLANDC__, >=0x590 )
# define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE
#endif
@@ -123,17 +123,26 @@
struct BOOST_PP_CAT(quote,i_)
{
template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590 ))
+ {
+ typedef typename quote_impl<
+ F< BOOST_MPL_PP_PARAMS(i_, U) >
+ , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
+ >::type type;
+ };
+#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
: quote_impl<
F< BOOST_MPL_PP_PARAMS(i_, U) >
, aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
>
+ {
+ };
#else
: quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value >
::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > >
-#endif
{
};
+#endif
};
#undef i_
Modified: trunk/boost/mpl/upper_bound.hpp
==============================================================================
--- trunk/boost/mpl/upper_bound.hpp (original)
+++ trunk/boost/mpl/upper_bound.hpp 2008-10-09 18:06:06 EDT (Thu, 09 Oct 2008)
@@ -19,7 +19,7 @@
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/config/workaround.hpp>
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
# define BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL
#endif
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk