From f6b72ff1f9b762af74a311dcd38883b58aa57c18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Mon, 11 Dec 2006 14:31:35 +0000 Subject: [PATCH] Update to latest from BOOST 1.34 repo git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16241 a592a061-630c-0410-9148-cb99ea01b6c8 --- boost/boost/config/compiler/hp_acc.hpp | 23 ++-- boost/boost/config/compiler/vacpp.hpp | 1 - boost/boost/detail/algorithm.hpp | 8 +- boost/boost/detail/bad_weak_ptr.hpp | 2 +- boost/boost/detail/limits.hpp | 4 + boost/boost/functional.hpp | 18 +-- boost/boost/intrusive_ptr.hpp | 7 +- boost/boost/iostreams/filter/symmetric.hpp | 2 +- boost/boost/mpl/assert.hpp | 129 +++++++++++------- boost/boost/mpl/aux_/include_preprocessed.hpp | 22 ++- boost/boost/mpl/aux_/integral_wrapper.hpp | 8 +- boost/boost/mpl/has_xxx.hpp | 11 +- boost/boost/mpl/integral_c.hpp | 8 +- boost/boost/mpl/integral_c_fwd.hpp | 8 +- boost/boost/property_map_iterator.hpp | 2 +- .../range/detail/implementation_help.hpp | 2 +- boost/boost/shared_ptr.hpp | 7 +- .../spirit/core/primitives/impl/numerics.ipp | 1 - boost/boost/spirit/symbols/symbols.hpp | 2 + 19 files changed, 156 insertions(+), 109 deletions(-) diff --git a/boost/boost/config/compiler/hp_acc.hpp b/boost/boost/config/compiler/hp_acc.hpp index 9b16d3ade2..79405fc49e 100644 --- a/boost/boost/config/compiler/hp_acc.hpp +++ b/boost/boost/config/compiler/hp_acc.hpp @@ -1,8 +1,11 @@ // (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. // (C) Copyright Aleksey Gurtovoy 2002. // (C) Copyright David Abrahams 2002 - 2003. // (C) Copyright Toon Knapen 2003. +// (C) Copyright Boris Gubenko 2006. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -11,6 +14,10 @@ // HP aCC C++ compiler setup: +#if (__HP_aCC >= 61200) && defined(__EDG__) +#include "boost/config/compiler/common_edg.hpp" +#endif + #if (__HP_aCC <= 33100) # define BOOST_NO_INTEGRAL_INT64_T # define BOOST_NO_OPERATORS_IN_NAMESPACE @@ -27,13 +34,13 @@ # define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE #endif -#if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG) +#if (__HP_aCC < 60000) # define BOOST_NO_UNREACHABLE_RETURN_DETECTION # define BOOST_NO_TEMPLATE_TEMPLATES +# define BOOST_NO_SWPRINTF # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # define BOOST_NO_IS_ABSTRACT -// std lib config should set this one already: -//# define BOOST_NO_STD_ALLOCATOR +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif // optional features rather than defects: @@ -46,24 +53,20 @@ # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD #endif -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS - #define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) // // versions check: -// we don't support HP aCC prior to version 0: +// we don't support HP aCC prior to version 33000: #if __HP_aCC < 33000 # error "Compiler not supported or configured - please reconfigure" #endif // -// last known and checked version is 0: -#if (__HP_aCC > 53800) +// last known and checked version is 61300: +#if (__HP_aCC > 61300) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # endif #endif - - diff --git a/boost/boost/config/compiler/vacpp.hpp b/boost/boost/config/compiler/vacpp.hpp index 4cf0de7c19..e085a60d2d 100644 --- a/boost/boost/config/compiler/vacpp.hpp +++ b/boost/boost/config/compiler/vacpp.hpp @@ -27,7 +27,6 @@ #if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) # define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES 1 #endif // diff --git a/boost/boost/detail/algorithm.hpp b/boost/boost/detail/algorithm.hpp index 4cc52c1e76..30667d6ad5 100644 --- a/boost/boost/detail/algorithm.hpp +++ b/boost/boost/detail/algorithm.hpp @@ -1,8 +1,6 @@ -// (C) Copyright Jeremy Siek 2001. Permission to copy, use, modify, -// sell and distribute this software is granted provided this -// copyright notice appears in all copies. This software is provided -// "as is" without express or implied warranty, and with no claim as -// to its suitability for any purpose. +// (C) Copyright Jeremy Siek 2001. +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) /* * diff --git a/boost/boost/detail/bad_weak_ptr.hpp b/boost/boost/detail/bad_weak_ptr.hpp index a08d7b1700..93ecec9b69 100644 --- a/boost/boost/detail/bad_weak_ptr.hpp +++ b/boost/boost/detail/bad_weak_ptr.hpp @@ -42,7 +42,7 @@ public: virtual char const * what() const throw() { - return "boost::bad_weak_ptr"; + return "tr1::bad_weak_ptr"; } }; diff --git a/boost/boost/detail/limits.hpp b/boost/boost/detail/limits.hpp index 414ca97590..6f018dfaca 100644 --- a/boost/boost/detail/limits.hpp +++ b/boost/boost/detail/limits.hpp @@ -1,3 +1,7 @@ +// Copyright 2001 John Maddock +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + /* * Copyright (c) 1997 * Silicon Graphics Computer Systems, Inc. diff --git a/boost/boost/functional.hpp b/boost/boost/functional.hpp index e13267267e..b60d139ad5 100644 --- a/boost/boost/functional.hpp +++ b/boost/boost/functional.hpp @@ -1,20 +1,12 @@ // ------------------------------------------------------------------------------ +// Copyright (c) 2000 Cadenza New Zealand Ltd +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// ------------------------------------------------------------------------------ // Boost functional.hpp header file // See http://www.boost.org/libs/functional for documentation. // ------------------------------------------------------------------------------ -// Copyright (c) 2000 -// Cadenza New Zealand Ltd -// -// Permission to use, copy, modify, distribute and sell this software -// and its documentation for any purpose is hereby granted without -// fee, provided that the above copyright notice appears in all copies -// and that both the copyright notice and this permission notice -// appear in supporting documentation. Cadenza New Zealand Ltd makes -// no representations about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. -// ------------------------------------------------------------------------------ -// $Id: functional.hpp,v 1.4 2002/12/27 16:51:52 beman_dawes Exp $ +// $Id: functional.hpp,v 1.4.20.1 2006/12/02 14:17:26 andreas_huber69 Exp $ // ------------------------------------------------------------------------------ #ifndef BOOST_FUNCTIONAL_HPP diff --git a/boost/boost/intrusive_ptr.hpp b/boost/boost/intrusive_ptr.hpp index b03b9013d7..cd1ac11fae 100644 --- a/boost/boost/intrusive_ptr.hpp +++ b/boost/boost/intrusive_ptr.hpp @@ -249,6 +249,9 @@ template std::ostream & operator<< (std::ostream & os, intrusive_ptr #else +// in STLport's no-iostreams mode no iostream symbols can be used +#ifndef _STLP_NO_IOSTREAMS + # if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT) // MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL using std::basic_ostream; @@ -261,7 +264,9 @@ template std::basic_ostream & operator<< (std:: return os; } -#endif +#endif // _STLP_NO_IOSTREAMS + +#endif // __GNUC__ < 3 } // namespace boost diff --git a/boost/boost/iostreams/filter/symmetric.hpp b/boost/boost/iostreams/filter/symmetric.hpp index c565d21d0c..1154c9a5d9 100644 --- a/boost/boost/iostreams/filter/symmetric.hpp +++ b/boost/boost/iostreams/filter/symmetric.hpp @@ -231,7 +231,7 @@ private: void close(); - enum X { + enum { f_read = 1, f_write = f_read << 1, f_eof = f_write << 1, diff --git a/boost/boost/mpl/assert.hpp b/boost/boost/mpl/assert.hpp index fa41292fbf..d4b888d6df 100644 --- a/boost/boost/mpl/assert.hpp +++ b/boost/boost/mpl/assert.hpp @@ -2,7 +2,7 @@ #ifndef BOOST_MPL_ASSERT_HPP_INCLUDED #define BOOST_MPL_ASSERT_HPP_INCLUDED -// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Aleksey Gurtovoy 2000-2006 // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -11,8 +11,8 @@ // See http://www.boost.org/libs/mpl for documentation. // $Source: /cvsroot/boost/boost/boost/mpl/assert.hpp,v $ -// $Date: 2004/09/28 13:56:58 $ -// $Revision: 1.13 $ +// $Date: 2006/11/10 21:31:19 $ +// $Revision: 1.13.14.6 $ #include #include @@ -25,12 +25,18 @@ #include #include #include +#include #include #include +#include // make sure 'size_t' is placed into 'std' +#include + + #if BOOST_WORKAROUND(__BORLANDC__, >= 0x560) && BOOST_WORKAROUND(__BORLANDC__, < 0x600) \ - || (BOOST_MPL_CFG_GCC != 0) + || (BOOST_MPL_CFG_GCC != 0) \ + || BOOST_WORKAROUND(__IBMCPP__, <= 600) # define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES #endif @@ -41,6 +47,16 @@ # define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER #endif +// 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) \ + || (BOOST_MPL_CFG_GCC != 0) +# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr } +#else +# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr) +#endif + BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN @@ -48,7 +64,7 @@ struct failed {}; // agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept // 'assert' by reference; can't apply it unconditionally -- apparently it -// degrades quality of GCC diagnostics +// degrades the quality of GCC diagnostics #if BOOST_WORKAROUND(BOOST_MSVC, == 1310) # define AUX778076_ASSERT_ARG(x) x& #else @@ -129,7 +145,7 @@ template< typename P > struct assert_arg_pred template< typename P > struct assert_arg_pred_not { typedef typename P::type p_type; - enum { p = !p_type::value }; + BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value ); typedef typename assert_arg_pred_impl

::type type; }; @@ -198,13 +214,14 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE // BOOST_MPL_ASSERT((pred)) #define BOOST_MPL_ASSERT(pred) \ -enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ boost::mpl::assertion_failed( \ boost::mpl::assert_arg( (void (*) pred)0, 1 ) \ ) \ ) \ -}\ + ) \ /**/ // BOOST_MPL_ASSERT_NOT((pred)) @@ -221,13 +238,14 @@ enum { \ /**/ #else # define BOOST_MPL_ASSERT_NOT(pred) \ -enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ boost::mpl::assertion_failed( \ boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \ ) \ ) \ -}\ + ) \ /**/ #endif @@ -236,10 +254,13 @@ enum { \ #if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) # if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) +// agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518 # define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ -enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ - boost::mpl::assertion_failed<(x rel y)>( \ +enum { BOOST_PP_CAT(mpl_assert_rel_value,__LINE__) = (x rel y) }; \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ + boost::mpl::assertion_failed( \ (boost::mpl::failed ************ ( boost::mpl::assert_relation< \ boost::mpl::assert_::relations( sizeof( \ boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ @@ -248,13 +269,19 @@ enum { \ , y \ >::************)) 0 ) \ ) \ -} \ + ) \ /**/ # else # define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ -enum { \ - BOOST_PP_CAT(mpl_assert_rel,__LINE__) = sizeof(boost::mpl::assert_::arg rel boost::mpl::assert_::arg) \ - , BOOST_PP_CAT(mpl_assert_rel_value,__LINE__) = (x rel y) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assert_rel,__LINE__) = sizeof( \ + boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ + ) \ + ); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,__LINE__) = (x rel y) ); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ boost::mpl::assertion_failed( \ boost::mpl::assert_rel_arg( boost::mpl::assert_relation< \ @@ -264,7 +291,7 @@ enum { \ >() ) \ ) \ ) \ -} \ + ) \ /**/ # endif @@ -272,22 +299,24 @@ enum { \ # if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) # define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ -enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ boost::mpl::assertion_failed<(x rel y)>( boost::mpl::assert_rel_arg( \ boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))() \ ) ) \ ) \ -}\ + ) \ /**/ # else # define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ -enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \ boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \ ) \ -}\ + ) \ /**/ # endif @@ -298,32 +327,34 @@ enum { \ #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) # define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ - struct msg; \ - typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ \ - { \ - using boost::mpl::assert_::types; \ - static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ - { return 0; } \ - } BOOST_PP_CAT(mpl_assert_arg,__LINE__); \ - enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ - boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) \ - ) \ - }\ +struct msg; \ +typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ \ +{ \ + using boost::mpl::assert_::types; \ + static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ + { return 0; } \ +} BOOST_PP_CAT(mpl_assert_arg,__LINE__); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ + boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) \ + ) \ + ) \ /**/ #else # define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ - struct msg; \ - typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ \ - { \ - static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ - { return 0; } \ - } BOOST_PP_CAT(mpl_assert_arg,__LINE__); \ - enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ - boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) \ - ) \ - }\ +struct msg; \ +typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ \ +{ \ + static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ + { return 0; } \ +} BOOST_PP_CAT(mpl_assert_arg,__LINE__); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \ + boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) \ + ) \ + ) \ /**/ #endif diff --git a/boost/boost/mpl/aux_/include_preprocessed.hpp b/boost/boost/mpl/aux_/include_preprocessed.hpp index fd33f3965b..9ceb2ce8aa 100644 --- a/boost/boost/mpl/aux_/include_preprocessed.hpp +++ b/boost/boost/mpl/aux_/include_preprocessed.hpp @@ -1,7 +1,7 @@ // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION -// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Aleksey Gurtovoy 2000-2006 // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -10,25 +10,33 @@ // See http://www.boost.org/libs/mpl for documentation. // $Source: /cvsroot/boost/boost/boost/mpl/aux_/include_preprocessed.hpp,v $ -// $Date: 2004/09/02 15:40:43 $ -// $Revision: 1.5 $ +// $Date: 2006/11/09 00:46:57 $ +// $Revision: 1.5.14.1 $ #include #include +#include #include #include #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) -# define AUX_PREPROCESSED_HEADER \ +# define AUX778076_PREPROCESSED_HEADER \ BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \ /**/ #else -# define AUX_PREPROCESSED_HEADER \ +# define AUX778076_PREPROCESSED_HEADER \ BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ /**/ #endif -# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX_PREPROCESSED_HEADER) -# undef AUX_PREPROCESSED_HEADER +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) +# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) +# include AUX778076_INCLUDE_STRING +# undef AUX778076_INCLUDE_STRING +#else +# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) +#endif + +# undef AUX778076_PREPROCESSED_HEADER #undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/boost/boost/mpl/aux_/integral_wrapper.hpp b/boost/boost/mpl/aux_/integral_wrapper.hpp index 227a1ed9c1..57f679511e 100644 --- a/boost/boost/mpl/aux_/integral_wrapper.hpp +++ b/boost/boost/mpl/aux_/integral_wrapper.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Aleksey Gurtovoy 2000-2006 // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -8,8 +8,8 @@ // See http://www.boost.org/libs/mpl for documentation. // $Source: /cvsroot/boost/boost/boost/mpl/aux_/integral_wrapper.hpp,v $ -// $Date: 2004/09/02 15:40:43 $ -// $Revision: 1.10 $ +// $Date: 2006/11/08 21:44:30 $ +// $Revision: 1.10.14.1 $ // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! @@ -65,7 +65,7 @@ struct AUX_WRAPPER_NAME typedef AUX_WRAPPER_INST(prior_value) prior; #elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ - || BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) + || BOOST_WORKAROUND(__HP_aCC, <= 53800) typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next; typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior; #else diff --git a/boost/boost/mpl/has_xxx.hpp b/boost/boost/mpl/has_xxx.hpp index 9203f33d98..a2f150eae3 100644 --- a/boost/boost/mpl/has_xxx.hpp +++ b/boost/boost/mpl/has_xxx.hpp @@ -2,7 +2,7 @@ #ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED #define BOOST_MPL_HAS_XXX_HPP_INCLUDED -// Copyright Aleksey Gurtovoy 2002-2004 +// Copyright Aleksey Gurtovoy 2002-2006 // Copyright David Abrahams 2002-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,8 +12,8 @@ // See http://www.boost.org/libs/mpl for documentation. // $Source: /cvsroot/boost/boost/boost/mpl/has_xxx.hpp,v $ -// $Date: 2005/06/15 10:43:23 $ -// $Revision: 1.4 $ +// $Date: 2006/11/09 01:05:31 $ +// $Revision: 1.4.6.1 $ #include #include @@ -144,9 +144,10 @@ template<> struct trait \ // SFINAE-based implementations below are derived from a USENET newsgroup's // posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST) -# elif BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) +# elif BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__IBMCPP__, <= 700) -// MSVC 7.1+ +// MSVC 7.1+ & VACPP // agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE // applied to partial specialization to fix some apparently random failures diff --git a/boost/boost/mpl/integral_c.hpp b/boost/boost/mpl/integral_c.hpp index f32b1fe38f..dd647edb3b 100644 --- a/boost/boost/mpl/integral_c.hpp +++ b/boost/boost/mpl/integral_c.hpp @@ -2,7 +2,7 @@ #ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED #define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED -// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Aleksey Gurtovoy 2000-2006 // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -11,15 +11,15 @@ // See http://www.boost.org/libs/mpl for documentation. // $Source: /cvsroot/boost/boost/boost/mpl/integral_c.hpp,v $ -// $Date: 2005/07/19 04:03:12 $ -// $Revision: 1.22 $ +// $Date: 2006/11/08 21:44:27 $ +// $Revision: 1.22.6.1 $ #include #include #include #include -#if BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) +#if BOOST_WORKAROUND(__HP_aCC, <= 53800) // the type of non-type template arguments may not depend on template arguments # define AUX_WRAPPER_PARAMS(N) typename T, long N #else diff --git a/boost/boost/mpl/integral_c_fwd.hpp b/boost/boost/mpl/integral_c_fwd.hpp index 7f4237cfad..aa7ea83730 100644 --- a/boost/boost/mpl/integral_c_fwd.hpp +++ b/boost/boost/mpl/integral_c_fwd.hpp @@ -2,7 +2,7 @@ #ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED #define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED -// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Aleksey Gurtovoy 2000-2006 // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -11,15 +11,15 @@ // See http://www.boost.org/libs/mpl for documentation. // $Source: /cvsroot/boost/boost/boost/mpl/integral_c_fwd.hpp,v $ -// $Date: 2004/09/28 13:56:58 $ -// $Revision: 1.4 $ +// $Date: 2006/11/08 21:44:27 $ +// $Revision: 1.4.14.1 $ #include #include BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -#if BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) +#if BOOST_WORKAROUND(__HP_aCC, <= 53800) // the type of non-type template arguments may not depend on template arguments template< typename T, long N > struct integral_c; #else diff --git a/boost/boost/property_map_iterator.hpp b/boost/boost/property_map_iterator.hpp index 56d5954584..9874cbf4ad 100644 --- a/boost/boost/property_map_iterator.hpp +++ b/boost/boost/property_map_iterator.hpp @@ -63,7 +63,7 @@ namespace boost { { - friend class iterator_core_access; + friend class boost::iterator_core_access; typedef iterator_adaptor< readable_pmap_iter< Iterator, ReadablePropertyMap >, Iterator, diff --git a/boost/boost/range/detail/implementation_help.hpp b/boost/boost/range/detail/implementation_help.hpp index 77cc8ccb2f..11c6612fc1 100644 --- a/boost/boost/range/detail/implementation_help.hpp +++ b/boost/boost/range/detail/implementation_help.hpp @@ -43,7 +43,7 @@ namespace boost #else inline const wchar_t* str_end( const wchar_t* s, const wchar_t* ) { - if( s == 0 && s[0] == 0 ) + if( s == 0 || s[0] == 0 ) return s; while( *++s != 0 ) ; diff --git a/boost/boost/shared_ptr.hpp b/boost/boost/shared_ptr.hpp index 1924c9fe04..9edc86ffaa 100644 --- a/boost/boost/shared_ptr.hpp +++ b/boost/boost/shared_ptr.hpp @@ -504,6 +504,9 @@ template std::ostream & operator<< (std::ostream & os, shared_ptr co #else +// in STLport's no-iostreams mode no iostream symbols can be used +#ifndef _STLP_NO_IOSTREAMS + # if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT) // MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL using std::basic_ostream; @@ -516,7 +519,9 @@ template std::basic_ostream & operator<< (std:: return os; } -#endif +#endif // _STLP_NO_IOSTREAMS + +#endif // __GNUC__ < 3 // get_deleter (experimental) diff --git a/boost/boost/spirit/core/primitives/impl/numerics.ipp b/boost/boost/spirit/core/primitives/impl/numerics.ipp index a4800ef23d..144011f4f0 100644 --- a/boost/boost/spirit/core/primitives/impl/numerics.ipp +++ b/boost/boost/spirit/core/primitives/impl/numerics.ipp @@ -520,7 +520,6 @@ namespace boost { namespace spirit { #if (defined(BOOST_MSVC) && (BOOST_MSVC <= 1310)) #pragma warning(pop) -#pragma warning(disable:4127) #endif } // namespace impl diff --git a/boost/boost/spirit/symbols/symbols.hpp b/boost/boost/spirit/symbols/symbols.hpp index 70e333a5c5..4f6d2ab1a8 100644 --- a/boost/boost/spirit/symbols/symbols.hpp +++ b/boost/boost/spirit/symbols/symbols.hpp @@ -181,6 +181,8 @@ public: symbol_inserter(SetT& set_) : set(set_) {} + typedef symbol_inserter const & result_type; + template symbol_inserter const& operator()(IteratorT first, IteratorT const& last, T const& data = T()) const