Ticket #2345: boost_mpl.patch
File boost_mpl.patch, 11.9 KB (added by , 14 years ago) |
---|
-
apply_wrap.hpp
174 174 175 175 # define j_ BOOST_PP_FRAME_ITERATION(2) 176 176 177 #if (i_ == 0) && (j_ == 0) && BOOST_WORKAROUND( __BORLANDC__, >= 0x590) && !defined( BOOST_MPL_CFG_NO_HAS_APPLY) 178 179 template< typename F, bool F_has_apply > 180 struct apply_wrap_impl0_bcb { 181 typedef typename F::template apply< na > type; 182 }; 183 184 template< typename F > 185 struct apply_wrap_impl0_bcb< F, true > { 186 typedef typename F::apply type; 187 }; 188 177 189 template< 178 190 typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) 179 191 > … … 183 195 BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) 184 196 > 185 197 { 198 typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type; 199 }; 200 #else 201 202 template< 203 typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) 204 > 205 struct BOOST_PP_CAT(apply_wrap_impl,i_)< 206 BOOST_MPL_PP_ADD(i_, j_) 207 , F 208 BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) 209 > 210 { 186 211 typedef typename F::template apply< 187 212 AUX778076_APPLY_WRAP_PARAMS(i_, T) 188 213 #if i_ == 0 && j_ == 0 … … 195 220 > type; 196 221 }; 197 222 223 #endif 224 198 225 # undef j_ 199 226 200 227 #endif // BOOST_PP_IS_ITERATING -
assert.hpp
35 35 #include <cstddef> 36 36 37 37 38 #if BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, < 0x600) \38 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 39 39 || (BOOST_MPL_CFG_GCC != 0) \ 40 40 || BOOST_WORKAROUND(__IBMCPP__, <= 600) 41 41 # define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES … … 43 43 44 44 #if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \ 45 45 || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ 46 || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \46 || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 47 47 || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) 48 48 # define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER 49 49 #endif … … 51 51 // agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants) 52 52 // and GCC (which issues "unused variable" warnings when static constants are used 53 53 // at a function scope) 54 #if BOOST_WORKAROUND(__BORLANDC__, < 0x600) \54 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 55 55 || (BOOST_MPL_CFG_GCC != 0) 56 56 # define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr } 57 57 #else -
aux_/config/adl.hpp
27 27 28 28 #if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \ 29 29 && ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ 30 || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \30 || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 31 31 || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ 32 32 || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ 33 33 || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \ -
aux_/config/arrays.hpp
19 19 20 20 #if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \ 21 21 && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 22 && ( BOOST_WORKAROUND(__BORLANDC__, < 0x600) \22 && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 23 23 || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ 24 24 ) 25 25 -
aux_/config/bind.hpp
21 21 #if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \ 22 22 && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 23 23 && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ 24 || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \24 || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 25 25 ) 26 26 27 27 # define BOOST_MPL_CFG_NO_BIND_TEMPLATE -
aux_/config/compiler.hpp
32 32 # elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) 33 33 # define BOOST_MPL_CFG_COMPILER_DIR gcc 34 34 35 # elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)35 # elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 36 36 # if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) 37 37 # define BOOST_MPL_CFG_COMPILER_DIR bcc551 38 38 # else -
aux_/config/dtp.hpp
25 25 #if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ 26 26 && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 27 27 && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \ 28 && BOOST_WORKAROUND(__BORLANDC__, < 0x600)28 && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 29 29 30 30 # define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES 31 31 … … 35 35 #if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ 36 36 && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 37 37 && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \ 38 || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \38 || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 39 39 || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ 40 40 ) 41 41 -
aux_/config/forwarding.hpp
18 18 19 19 #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \ 20 20 && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 21 && BOOST_WORKAROUND(__BORLANDC__, < 0x600)21 && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 22 22 23 23 # define BOOST_MPL_CFG_NO_NESTED_FORWARDING 24 24 -
aux_/config/integral.hpp
19 19 20 20 #if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ 21 21 && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 22 && BOOST_WORKAROUND(__BORLANDC__, < 0x600)22 && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 23 23 24 24 # define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS 25 25 -
aux_/config/operators.hpp
20 20 21 21 #if !defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) \ 22 22 && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ 23 || BOOST_WORKAROUND(__BORLANDC__, <= 0x600) \23 || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 24 24 || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \ 25 25 || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \ 26 26 || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ -
aux_/config/preprocessor.hpp
18 18 19 19 #if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \ 20 20 && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \ 21 || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \21 || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \ 22 22 || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ 23 23 ) 24 24 -
aux_/config/ttp.hpp
31 31 #if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ 32 32 && !defined(BOOST_MPL_PREPROCESSING_MODE) \ 33 33 && ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ 34 || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \34 || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ 35 35 ) 36 36 37 37 # define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING -
aux_/has_rebind.hpp
25 25 # include <boost/mpl/if.hpp> 26 26 # include <boost/mpl/bool.hpp> 27 27 # include <boost/mpl/aux_/msvc_is_class.hpp> 28 #elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)28 #elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 29 29 # include <boost/mpl/if.hpp> 30 30 # include <boost/mpl/bool.hpp> 31 31 # include <boost/mpl/aux_/yes_no.hpp> … … 62 62 template< typename T > struct has_rebind_tag {}; 63 63 no_tag operator|(has_rebind_tag<int>, void const volatile*); 64 64 65 # if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)65 # if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 66 66 template< typename T > 67 67 struct has_rebind 68 68 { -
aux_/lambda_support.hpp
110 110 typedef BOOST_PP_CAT(name,_rebind) rebind; \ 111 111 /**/ 112 112 113 #if BOOST_WORKAROUND(__BORLANDC__, < 0x600)113 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 114 114 # define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ 115 115 template< BOOST_MPL_PP_PARAMS(i,typename T) > \ 116 116 ::boost::mpl::aux::yes_tag operator|( \ -
lower_bound.hpp
19 19 #include <boost/mpl/aux_/na_spec.hpp> 20 20 #include <boost/mpl/aux_/config/workaround.hpp> 21 21 22 #if BOOST_WORKAROUND(__BORLANDC__, < 0x600)22 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 23 23 # define BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL 24 24 #endif 25 25 -
quote.hpp
25 25 26 26 #include <boost/mpl/aux_/config/ttp.hpp> 27 27 28 #if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) 28 #if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) && !BOOST_WORKAROUND( __BORLANDC__, >=0x590 ) 29 29 # define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE 30 30 #endif 31 31 … … 123 123 struct BOOST_PP_CAT(quote,i_) 124 124 { 125 125 template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply 126 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) 126 #if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590 )) 127 { 128 typedef typename quote_impl< 129 F< BOOST_MPL_PP_PARAMS(i_, U) > 130 , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value 131 >::type type; 132 }; 133 #elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) 127 134 : quote_impl< 128 135 F< BOOST_MPL_PP_PARAMS(i_, U) > 129 136 , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value 130 137 > 138 { 139 }; 131 140 #else 132 141 : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value > 133 142 ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > > 134 #endif135 143 { 136 144 }; 145 #endif 137 146 }; 138 147 139 148 #undef i_ -
upper_bound.hpp
19 19 #include <boost/mpl/aux_/na_spec.hpp> 20 20 #include <boost/mpl/aux_/config/workaround.hpp> 21 21 22 #if BOOST_WORKAROUND(__BORLANDC__, < 0x600)22 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) 23 23 # define BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL 24 24 #endif 25 25