From f8d40123afac91301379423452ed6beab123189a Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Tue, 20 Jan 2004 16:26:31 +0000 Subject: [PATCH] Merge fixes from the main trunk [SVN r21842] --- .../boost/mpl/aux_/config/preprocessor.hpp | 34 +++++++++------- .../boost/mpl/aux_/include_preprocessed.hpp | 34 +++++++++------- include/boost/mpl/equal_to.hpp | 31 +++++++------- include/boost/mpl/greater.hpp | 31 +++++++------- include/boost/mpl/greater_equal.hpp | 31 +++++++------- include/boost/mpl/less.hpp | 31 +++++++------- include/boost/mpl/less_equal.hpp | 31 +++++++------- include/boost/mpl/list.hpp | 40 +++++++++++-------- .../mpl/list/aux_/include_preprocessed.hpp | 23 +++++------ include/boost/mpl/list_c.hpp | 36 ++++++++++------- include/boost/mpl/not_equal_to.hpp | 31 +++++++------- include/boost/mpl/vector.hpp | 36 ++++++++++------- .../mpl/vector/aux_/include_preprocessed.hpp | 35 +++++++++------- include/boost/mpl/vector_c.hpp | 36 ++++++++++------- 14 files changed, 245 insertions(+), 215 deletions(-) diff --git a/include/boost/mpl/aux_/config/preprocessor.hpp b/include/boost/mpl/aux_/config/preprocessor.hpp index c5db6f9..76d427f 100644 --- a/include/boost/mpl/aux_/config/preprocessor.hpp +++ b/include/boost/mpl/aux_/config/preprocessor.hpp @@ -2,26 +2,25 @@ #ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED -// + file: boost/mpl/aux_/config/preprocessor.hpp -// + last modified: 02/sep/03 - -// Copyright (C) 2000-03 Aleksey Gurtovoy +// Copyright (c) 2000-04 Aleksey Gurtovoy // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// 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) // // See http://www.boost.org/libs/mpl for documentation. +// $Source$ +// $Date$ +// $Revision$ + #include "boost/mpl/aux_/config/workaround.hpp" -#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \ - || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) +#if !defined(BOOST_MPL_BROKEN_PP_MACRO_EXPANSION) \ + && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ + ) # define BOOST_MPL_BROKEN_PP_MACRO_EXPANSION @@ -29,4 +28,11 @@ //#define BOOST_MPL_NO_OWN_PP_PRIMITIVES +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \ + && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x833)) + +# define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING + +#endif + #endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED diff --git a/include/boost/mpl/aux_/include_preprocessed.hpp b/include/boost/mpl/aux_/include_preprocessed.hpp index cfc917a..59f082a 100644 --- a/include/boost/mpl/aux_/include_preprocessed.hpp +++ b/include/boost/mpl/aux_/include_preprocessed.hpp @@ -1,30 +1,34 @@ -//----------------------------------------------------------------------------- -// boost mpl/aux_/include_preprocessed.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- + +// Copyright (c) 2001-04 Aleksey Gurtovoy // -// Copyright (c) 2001-02 -// Aleksey Gurtovoy +// 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) // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ // no include guards, the header is intended for multiple inclusion! #include "boost/mpl/aux_/config/compiler.hpp" +#include "boost/mpl/aux_/config/preprocessor.hpp" #include "boost/preprocessor/cat.hpp" #include "boost/preprocessor/stringize.hpp" +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX_PREPROCESSED_HEADER \ - aux_/preprocessed/BOOST_MPL_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \ + BOOST_MPL_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \ /**/ +#else +# define AUX_PREPROCESSED_HEADER \ + BOOST_PP_CAT(BOOST_MPL_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#endif -# include BOOST_PP_STRINGIZE(boost/mpl/AUX_PREPROCESSED_HEADER) +# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX_PREPROCESSED_HEADER) # undef AUX_PREPROCESSED_HEADER #undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/include/boost/mpl/equal_to.hpp b/include/boost/mpl/equal_to.hpp index e20164f..f01b4cb 100644 --- a/include/boost/mpl/equal_to.hpp +++ b/include/boost/mpl/equal_to.hpp @@ -2,22 +2,18 @@ #ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED #define BOOST_MPL_EQUAL_TO_HPP_INCLUDED -// + file: boost/mpl/equal_to.hpp -// + last modified: 25/feb/03 - -// Copyright (c) 2000-03 -// Aleksey Gurtovoy +// Copyright (c) 2000-03 Aleksey Gurtovoy // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// 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) // // See http://www.boost.org/libs/mpl for documentation. +// $Source$ +// $Date$ +// $Revision$ + #include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" @@ -34,10 +30,13 @@ template< > struct equal_to { - BOOST_STATIC_CONSTANT(bool, value = ( - BOOST_MPL_AUX_VALUE_WKND(T1)::value - == BOOST_MPL_AUX_VALUE_WKND(T2)::value - )); + enum + { + msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value + == BOOST_MPL_AUX_VALUE_WKND(T2)::value ) + }; + + BOOST_STATIC_CONSTANT(bool, value = msvc71_wknd_); #if !defined(__BORLANDC__) typedef bool_ type; diff --git a/include/boost/mpl/greater.hpp b/include/boost/mpl/greater.hpp index a0d5c50..cafb4b0 100644 --- a/include/boost/mpl/greater.hpp +++ b/include/boost/mpl/greater.hpp @@ -2,22 +2,18 @@ #ifndef BOOST_MPL_GREATER_HPP_INCLUDED #define BOOST_MPL_GREATER_HPP_INCLUDED -// + file: boost/mpl/greater.hpp -// + last modified: 25/feb/03 - -// Copyright (c) 2000-03 -// Aleksey Gurtovoy +// Copyright (c) 2000-03 Aleksey Gurtovoy // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// 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) // // See http://www.boost.org/libs/mpl for documentation. +// $Source$ +// $Date$ +// $Revision$ + #include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" @@ -34,10 +30,13 @@ template< > struct greater { - BOOST_STATIC_CONSTANT(bool, value = ( - (BOOST_MPL_AUX_VALUE_WKND(T1)::value) - > (BOOST_MPL_AUX_VALUE_WKND(T2)::value) - )); + enum + { + msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value + > BOOST_MPL_AUX_VALUE_WKND(T2)::value ) + }; + + BOOST_STATIC_CONSTANT(bool, value = msvc71_wknd_); #if !defined(__BORLANDC__) typedef bool_ type; diff --git a/include/boost/mpl/greater_equal.hpp b/include/boost/mpl/greater_equal.hpp index 9e93bcb..79d4f3b 100644 --- a/include/boost/mpl/greater_equal.hpp +++ b/include/boost/mpl/greater_equal.hpp @@ -2,22 +2,18 @@ #ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED #define BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED -// + file: boost/mpl/greater_equal.hpp -// + last modified: 25/feb/03 - -// Copyright (c) 2000-03 -// Aleksey Gurtovoy +// Copyright (c) 2000-03 Aleksey Gurtovoy // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// 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) // // See http://www.boost.org/libs/mpl for documentation. +// $Source$ +// $Date$ +// $Revision$ + #include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" @@ -34,10 +30,13 @@ template< > struct greater_equal { - BOOST_STATIC_CONSTANT(bool, value = ( - BOOST_MPL_AUX_VALUE_WKND(T1)::value - >= BOOST_MPL_AUX_VALUE_WKND(T2)::value - )); + enum + { + msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value + >= BOOST_MPL_AUX_VALUE_WKND(T2)::value ) + }; + + BOOST_STATIC_CONSTANT(bool, value = msvc71_wknd_); #if !defined(__BORLANDC__) typedef bool_ type; diff --git a/include/boost/mpl/less.hpp b/include/boost/mpl/less.hpp index f7db4c8..c3cbc45 100644 --- a/include/boost/mpl/less.hpp +++ b/include/boost/mpl/less.hpp @@ -2,22 +2,18 @@ #ifndef BOOST_MPL_LESS_HPP_INCLUDED #define BOOST_MPL_LESS_HPP_INCLUDED -// + file: boost/mpl/less.hpp -// + last modified: 25/feb/03 - -// Copyright (c) 2000-03 -// Aleksey Gurtovoy +// Copyright (c) 2000-03 Aleksey Gurtovoy // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// 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) // // See http://www.boost.org/libs/mpl for documentation. +// $Source$ +// $Date$ +// $Revision$ + #include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" @@ -34,10 +30,13 @@ template< > struct less { - BOOST_STATIC_CONSTANT(bool, value = ( - (BOOST_MPL_AUX_VALUE_WKND(T1)::value) - < (BOOST_MPL_AUX_VALUE_WKND(T2)::value) - )); + enum + { + msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value + < BOOST_MPL_AUX_VALUE_WKND(T2)::value ) + }; + + BOOST_STATIC_CONSTANT(bool, value = msvc71_wknd_); #if !defined(__BORLANDC__) typedef bool_ type; diff --git a/include/boost/mpl/less_equal.hpp b/include/boost/mpl/less_equal.hpp index d3688ae..6ecebbc 100644 --- a/include/boost/mpl/less_equal.hpp +++ b/include/boost/mpl/less_equal.hpp @@ -2,22 +2,18 @@ #ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED #define BOOST_MPL_LESS_EQUAL_HPP_INCLUDED -// + file: boost/mpl/less_equal.hpp -// + last modified: 25/feb/03 - -// Copyright (c) 2000-03 -// Aleksey Gurtovoy +// Copyright (c) 2000-03 Aleksey Gurtovoy // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// 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) // // See http://www.boost.org/libs/mpl for documentation. +// $Source$ +// $Date$ +// $Revision$ + #include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" @@ -34,10 +30,13 @@ template< > struct less_equal { - BOOST_STATIC_CONSTANT(bool, value = ( - BOOST_MPL_AUX_VALUE_WKND(T1)::value - <= BOOST_MPL_AUX_VALUE_WKND(T2)::value - )); + enum + { + msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value + <= BOOST_MPL_AUX_VALUE_WKND(T2)::value ) + }; + + BOOST_STATIC_CONSTANT(bool, value = msvc71_wknd_); #if !defined(__BORLANDC__) typedef bool_ type; diff --git a/include/boost/mpl/list.hpp b/include/boost/mpl/list.hpp index ce60e1a..89542b0 100644 --- a/include/boost/mpl/list.hpp +++ b/include/boost/mpl/list.hpp @@ -1,18 +1,3 @@ -//----------------------------------------------------------------------------- -// boost mpl/list.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 -// Aleksey Gurtovoy -// -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. #if !defined(BOOST_PP_IS_ITERATING) @@ -21,17 +6,38 @@ #ifndef BOOST_MPL_LIST_HPP_INCLUDED #define BOOST_MPL_LIST_HPP_INCLUDED +// Copyright (c) 2000-04 Aleksey Gurtovoy +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +// no include guards, the header is intended for multiple inclusion! + #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include "boost/mpl/limits/list.hpp" # include "boost/mpl/void.hpp" +# include "boost/mpl/aux_/config/preprocessor.hpp" # include "boost/preprocessor/inc.hpp" # include "boost/preprocessor/cat.hpp" # include "boost/preprocessor/stringize.hpp" +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define MPL_AUX_LIST_HEADER \ BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \ /**/ +#else +# define MPL_AUX_LIST_HEADER \ + BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \ + /**/ +#endif # include BOOST_PP_STRINGIZE(boost/mpl/list/MPL_AUX_LIST_HEADER) # undef MPL_AUX_LIST_HEADER @@ -39,8 +45,8 @@ #include "boost/mpl/aux_/config/use_preprocessed.hpp" -#if !defined(BOOST_MPL_NO_PREPROCESSED_HEADERS) && \ - !defined(BOOST_MPL_PREPROCESSING_MODE) +#if !defined(BOOST_MPL_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER list.hpp # include "boost/mpl/aux_/include_preprocessed.hpp" diff --git a/include/boost/mpl/list/aux_/include_preprocessed.hpp b/include/boost/mpl/list/aux_/include_preprocessed.hpp index 280c740..3def15b 100644 --- a/include/boost/mpl/list/aux_/include_preprocessed.hpp +++ b/include/boost/mpl/list/aux_/include_preprocessed.hpp @@ -1,18 +1,15 @@ -//----------------------------------------------------------------------------- -// boost mpl/list/aux_/include_preprocessed.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- + +// Copyright (c) 2001-04 Aleksey Gurtovoy // -// Copyright (c) 2001-02 -// Aleksey Gurtovoy +// 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) // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ // no include guards, the header is intended for multiple inclusion! diff --git a/include/boost/mpl/list_c.hpp b/include/boost/mpl/list_c.hpp index e00b15a..947db46 100644 --- a/include/boost/mpl/list_c.hpp +++ b/include/boost/mpl/list_c.hpp @@ -1,18 +1,3 @@ -//----------------------------------------------------------------------------- -// boost mpl/list_c.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 -// Aleksey Gurtovoy -// -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. #if !defined(BOOST_PP_IS_ITERATING) @@ -21,16 +6,37 @@ #ifndef BOOST_MPL_LIST_C_HPP_INCLUDED #define BOOST_MPL_LIST_C_HPP_INCLUDED +// Copyright (c) 2000-04 Aleksey Gurtovoy +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +// no include guards, the header is intended for multiple inclusion! + #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include "boost/mpl/limits/list.hpp" +# include "boost/mpl/aux_/config/preprocessor.hpp" # include "boost/preprocessor/inc.hpp" # include "boost/preprocessor/cat.hpp" # include "boost/preprocessor/stringize.hpp" +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define MPL_AUX_LIST_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE), _c).hpp \ /**/ +#else +# define MPL_AUX_LIST_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE), _c)##.hpp \ + /**/ +#endif # include BOOST_PP_STRINGIZE(boost/mpl/list/MPL_AUX_LIST_HEADER) # undef MPL_AUX_LIST_HEADER diff --git a/include/boost/mpl/not_equal_to.hpp b/include/boost/mpl/not_equal_to.hpp index 93780ba..6b42e56 100644 --- a/include/boost/mpl/not_equal_to.hpp +++ b/include/boost/mpl/not_equal_to.hpp @@ -2,22 +2,18 @@ #ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED #define BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED -// + file: boost/mpl/not_equal_to.hpp -// + last modified: 25/feb/03 - -// Copyright (c) 2000-03 -// Aleksey Gurtovoy +// Copyright (c) 2000-03 Aleksey Gurtovoy // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// 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) // // See http://www.boost.org/libs/mpl for documentation. +// $Source$ +// $Date$ +// $Revision$ + #include "boost/mpl/bool.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/aux_/value_wknd.hpp" @@ -34,10 +30,13 @@ template< > struct not_equal_to { - BOOST_STATIC_CONSTANT(bool, value = ( - BOOST_MPL_AUX_VALUE_WKND(T1)::value - != BOOST_MPL_AUX_VALUE_WKND(T2)::value - )); + enum + { + msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value + != BOOST_MPL_AUX_VALUE_WKND(T2)::value ) + }; + + BOOST_STATIC_CONSTANT(bool, value = msvc71_wknd_); #if !defined(__BORLANDC__) typedef bool_ type; diff --git a/include/boost/mpl/vector.hpp b/include/boost/mpl/vector.hpp index 9a2aef6..25738a0 100644 --- a/include/boost/mpl/vector.hpp +++ b/include/boost/mpl/vector.hpp @@ -1,18 +1,3 @@ -//----------------------------------------------------------------------------- -// boost mpl/vector.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 -// Aleksey Gurtovoy -// -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. #if !defined(BOOST_PP_IS_ITERATING) @@ -21,17 +6,38 @@ #ifndef BOOST_MPL_VECTOR_HPP_INCLUDED #define BOOST_MPL_VECTOR_HPP_INCLUDED +// Copyright (c) 2000-04 Aleksey Gurtovoy +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +// no include guards, the header is intended for multiple inclusion! + #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include "boost/mpl/limits/vector.hpp" # include "boost/mpl/void.hpp" +# include "boost/mpl/aux_/config/preprocessor.hpp" # include "boost/preprocessor/inc.hpp" # include "boost/preprocessor/cat.hpp" # include "boost/preprocessor/stringize.hpp" +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define MPL_AUX_VECTOR_HEADER \ BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \ /**/ +#else +# define MPL_AUX_VECTOR_HEADER \ + BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \ + /**/ +#endif # include BOOST_PP_STRINGIZE(boost/mpl/vector/MPL_AUX_VECTOR_HEADER) # undef MPL_AUX_VECTOR_HEADER diff --git a/include/boost/mpl/vector/aux_/include_preprocessed.hpp b/include/boost/mpl/vector/aux_/include_preprocessed.hpp index a24c5bc..2fe52e9 100644 --- a/include/boost/mpl/vector/aux_/include_preprocessed.hpp +++ b/include/boost/mpl/vector/aux_/include_preprocessed.hpp @@ -1,23 +1,21 @@ -//----------------------------------------------------------------------------- -// boost mpl/vector/aux_/include_preprocessed.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- + +// Copyright (c) 2001-04 Aleksey Gurtovoy // -// Copyright (c) 2001-02 -// Aleksey Gurtovoy +// 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) // -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ // no include guards, the header is intended for multiple inclusion! #include "boost/mpl/aux_/config/vector.hpp" #include "boost/mpl/aux_/config/ctps.hpp" +#include "boost/mpl/aux_/config/preprocessor.hpp" #include "boost/preprocessor/cat.hpp" #include "boost/preprocessor/stringize.hpp" @@ -30,11 +28,18 @@ # define AUX_VECTOR_INCLIDE_DIR plain #endif +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX_PREPROCESSED_HEADER \ - aux_/preprocessed/AUX_VECTOR_INCLIDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \ + AUX_VECTOR_INCLIDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \ /**/ +#else +# define AUX_PREPROCESSED_HEADER \ + BOOST_PP_CAT(AUX_VECTOR_INCLIDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#endif -# include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX_PREPROCESSED_HEADER) + +# include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX_PREPROCESSED_HEADER) # undef AUX_PREPROCESSED_HEADER # undef AUX_VECTOR_INCLIDE_DIR diff --git a/include/boost/mpl/vector_c.hpp b/include/boost/mpl/vector_c.hpp index a0784e3..d79fdae 100644 --- a/include/boost/mpl/vector_c.hpp +++ b/include/boost/mpl/vector_c.hpp @@ -1,18 +1,3 @@ -//----------------------------------------------------------------------------- -// boost mpl/vector_c.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2000-02 -// Aleksey Gurtovoy -// -// 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. No representations are made about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. #if !defined(BOOST_PP_IS_ITERATING) @@ -21,16 +6,37 @@ #ifndef BOOST_MPL_VECTOR_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_C_HPP_INCLUDED +// Copyright (c) 2000-04 Aleksey Gurtovoy +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +// no include guards, the header is intended for multiple inclusion! + #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include "boost/mpl/limits/vector.hpp" +# include "boost/mpl/aux_/config/preprocessor.hpp" # include "boost/preprocessor/inc.hpp" # include "boost/preprocessor/cat.hpp" # include "boost/preprocessor/stringize.hpp" +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define MPL_AUX_VECTOR_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE), _c).hpp \ /**/ +#else +# define MPL_AUX_VECTOR_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE), _c)##.hpp \ + /**/ +#endif # include BOOST_PP_STRINGIZE(boost/mpl/vector/MPL_AUX_VECTOR_HEADER) # undef MPL_AUX_VECTOR_HEADER