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>
* update boost to version pre-1.30.0

View File

@ -27,7 +27,7 @@
#if !defined(AUX_WRAPPER_NAME)
# 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_INST(value) AUX_WRAPPER_NAME< value >
# define AUX_WRAPPER_INST(value) mpl::AUX_WRAPPER_NAME< value >
#endif
namespace boost { namespace mpl {
@ -36,7 +36,7 @@ template< AUX_WRAPPER_PARAMS(N) >
struct AUX_WRAPPER_NAME
{
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;
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),

View File

@ -26,6 +26,7 @@
#else
# include "boost/mpl/aux_/config/workaround.hpp"
# include "boost/mpl/aux_/preprocessor/params.hpp"
# include "boost/preprocessor/tuple/to_list.hpp"
# include "boost/preprocessor/list/for_each_i.hpp"
@ -36,10 +37,34 @@
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
// (in strict mode), so we have to provide an alternative to the
// MSVC-optimized implementation
#if defined(__EDG_VERSION__) && !defined(BOOST_INTEL_CXX_VERSION)
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
BOOST_STATIC_CONSTANT(int, arity = i); \

View File

@ -439,7 +439,7 @@ extract_and_check_delimiter(
#if defined (BOOST_NO_STD_LOCALE)
const bool is_delimiter = !isspace(d);
#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);
#else
const bool is_delimiter = (!std::isspace(d, is.getloc()) );

View File

@ -11,6 +11,7 @@
#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
#include "boost/type_traits/is_reference.hpp"
#include "boost/detail/workaround.hpp"
#include "boost/config.hpp"
// 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)
// 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
#include "boost/type_traits/detail/type_trait_undef.hpp"

View File

@ -24,7 +24,11 @@ namespace boost {
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);
};
#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))
//
// 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>
// should be the last #include
#include "boost/type_traits/detail/bool_trait_def.hpp"
#include <boost/detail/workaround.hpp>
namespace boost{
namespace detail{
@ -17,25 +18,29 @@ namespace detail{
template <class T>
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;
struct d1 : public ncvT
{
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();
# endif
# endif
char padding[256];
};
struct d2 : public ncvT
{
d2();
virtual ~d2()throw();
#ifndef BOOST_MSVC
# ifndef BOOST_MSVC
// for some reason this messes up VC++ when T has virtual bases:
virtual void foo();
#endif
# endif
char padding[256];
};
# endif
BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1)));
};