update from boost cvs branch RC_1_30_0

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6440 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 2003-03-11 00:19:27 +00:00
parent 7ecc220193
commit ab978c8b6c
8 changed files with 55 additions and 10 deletions

View File

@ -1,3 +1,7 @@
2003-03-11 Lars Gullik Bjønnes <larsbj@gullik.net>
* update from boost cvs branch RC_1_30_0
2003-03-03 Lars Gullik Bjønnes <larsbj@gullik.net> 2003-03-03 Lars Gullik Bjønnes <larsbj@gullik.net>
* update boost to version pre-1.30.0 * update boost to version pre-1.30.0

View File

@ -27,7 +27,7 @@
#if !defined(AUX_WRAPPER_NAME) #if !defined(AUX_WRAPPER_NAME)
# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_) # define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N) # define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value > # define AUX_WRAPPER_INST(value) mpl::AUX_WRAPPER_NAME< value >
#endif #endif
namespace boost { namespace mpl { namespace boost { namespace mpl {
@ -36,7 +36,7 @@ template< AUX_WRAPPER_PARAMS(N) >
struct AUX_WRAPPER_NAME struct AUX_WRAPPER_NAME
{ {
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N); BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);
typedef AUX_WRAPPER_NAME type; typedef struct AUX_WRAPPER_NAME type;
typedef AUX_WRAPPER_VALUE_TYPE value_type; typedef AUX_WRAPPER_VALUE_TYPE value_type;
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), // have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),

View File

@ -26,6 +26,7 @@
#else #else
# include "boost/mpl/aux_/config/workaround.hpp"
# include "boost/mpl/aux_/preprocessor/params.hpp" # include "boost/mpl/aux_/preprocessor/params.hpp"
# include "boost/preprocessor/tuple/to_list.hpp" # include "boost/preprocessor/tuple/to_list.hpp"
# include "boost/preprocessor/list/for_each_i.hpp" # include "boost/preprocessor/list/for_each_i.hpp"
@ -36,10 +37,34 @@
typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \ typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \
/**/ /**/
// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++
#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
BOOST_STATIC_CONSTANT(int, arity = i); \
BOOST_PP_LIST_FOR_EACH_I_R( \
1 \
, BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
, typedef \
, BOOST_PP_TUPLE_TO_LIST(i,params) \
) \
struct rebind \
{ \
template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
: name< BOOST_MPL_PP_PARAMS(i,U) > \
{ \
}; \
}; \
/**/
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
/**/
#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9 // agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9
// (in strict mode), so we have to provide an alternative to the // (in strict mode), so we have to provide an alternative to the
// MSVC-optimized implementation // MSVC-optimized implementation
#if defined(__EDG_VERSION__) && !defined(BOOST_INTEL_CXX_VERSION)
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ # define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
BOOST_STATIC_CONSTANT(int, arity = i); \ BOOST_STATIC_CONSTANT(int, arity = i); \

View File

@ -439,7 +439,7 @@ extract_and_check_delimiter(
#if defined (BOOST_NO_STD_LOCALE) #if defined (BOOST_NO_STD_LOCALE)
const bool is_delimiter = !isspace(d); const bool is_delimiter = !isspace(d);
#elif defined ( __BORLANDC__ ) #elif defined ( __BORLANDC__ )
const bool !is_delimiter = std::use_facet< std::ctype< CharType > > const bool is_delimiter = !std::use_facet< std::ctype< CharType > >
(is.getloc() ).is( std::ctype_base::space, d); (is.getloc() ).is( std::ctype_base::space, d);
#else #else
const bool is_delimiter = (!std::isspace(d, is.getloc()) ); const bool is_delimiter = (!std::isspace(d, is.getloc()) );

View File

@ -11,6 +11,7 @@
#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED #define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
#include "boost/type_traits/is_reference.hpp" #include "boost/type_traits/is_reference.hpp"
#include "boost/detail/workaround.hpp"
#include "boost/config.hpp" #include "boost/config.hpp"
// should be the last #include // should be the last #include
@ -76,6 +77,12 @@ BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const
BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename detail::add_reference_impl<T>::type) BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename detail::add_reference_impl<T>::type)
// agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional
// level of indirection, here
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561))
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
#endif
} // namespace boost } // namespace boost
#include "boost/type_traits/detail/type_trait_undef.hpp" #include "boost/type_traits/detail/type_trait_undef.hpp"

View File

@ -24,7 +24,11 @@ namespace boost {
namespace detail { namespace detail {
#if !defined(__BORLANDC__) #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) \
&& !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
// The EDG version number is a lower estimate.
// It is not currently known which EDG version
// exactly fixes the problem.
/************************************************************************* /*************************************************************************

View File

@ -128,7 +128,7 @@ struct is_convertible_basic_impl
== sizeof(::boost::type_traits::yes_type); == sizeof(::boost::type_traits::yes_type);
}; };
#elif (defined(BOOST_MSVC) && (BOOST_MSVC >= 1310) && _MSC_FULL_VER > 13102292) \ #elif (defined(BOOST_MSVC) && (BOOST_MSVC > 1310)) \
|| (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) || (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL))
// //
// This is *almost* an ideal world implementation as it doesn't rely // This is *almost* an ideal world implementation as it doesn't rely

View File

@ -10,6 +10,7 @@
#include <boost/type_traits/remove_cv.hpp> #include <boost/type_traits/remove_cv.hpp>
// should be the last #include // should be the last #include
#include "boost/type_traits/detail/bool_trait_def.hpp" #include "boost/type_traits/detail/bool_trait_def.hpp"
#include <boost/detail/workaround.hpp>
namespace boost{ namespace boost{
namespace detail{ namespace detail{
@ -17,25 +18,29 @@ namespace detail{
template <class T> template <class T>
struct is_polymorphic_imp1 struct is_polymorphic_imp1
{ {
# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always.
typedef char d1, (&d2)[2];
# else
typedef typename remove_cv<T>::type ncvT; typedef typename remove_cv<T>::type ncvT;
struct d1 : public ncvT struct d1 : public ncvT
{ {
d1(); d1();
# if !defined(__GNUC__) // this raises warnings with some classes, and buys nothing with GCC # if !defined(__GNUC__) // this raises warnings with some classes, and buys nothing with GCC
~d1()throw(); ~d1()throw();
# endif # endif
char padding[256]; char padding[256];
}; };
struct d2 : public ncvT struct d2 : public ncvT
{ {
d2(); d2();
virtual ~d2()throw(); virtual ~d2()throw();
#ifndef BOOST_MSVC # ifndef BOOST_MSVC
// for some reason this messes up VC++ when T has virtual bases: // for some reason this messes up VC++ when T has virtual bases:
virtual void foo(); virtual void foo();
#endif # endif
char padding[256]; char padding[256];
}; };
# endif
BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1))); BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1)));
}; };