From 63f84a20f59ac243327fbbce51331abd5f6d2be0 Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Thu, 16 Sep 2004 14:09:12 +0000 Subject: [PATCH] ADL/placeholders fixes [SVN r25148] --- include/boost/mpl/aux_/adl_barrier.hpp | 52 ++++++------- include/boost/mpl/aux_/config/adl.hpp | 40 ++++++++++ .../aux_/preprocessed/bcc/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/bcc551/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/dmc/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/gcc/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/msvc60/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/msvc70/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/mwcw/placeholders.hpp | 73 +++++++++++++------ .../preprocessed/no_ctps/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/no_ttp/placeholders.hpp | 73 +++++++++++++------ .../aux_/preprocessed/plain/placeholders.hpp | 73 +++++++++++++------ include/boost/mpl/placeholders.hpp | 43 +++++++---- 13 files changed, 594 insertions(+), 271 deletions(-) create mode 100644 include/boost/mpl/aux_/config/adl.hpp diff --git a/include/boost/mpl/aux_/adl_barrier.hpp b/include/boost/mpl/aux_/adl_barrier.hpp index ac711bc..7bf8e09 100644 --- a/include/boost/mpl/aux_/adl_barrier.hpp +++ b/include/boost/mpl/aux_/adl_barrier.hpp @@ -14,48 +14,44 @@ // $Date$ // $Revision$ -#include -#include +#include #include #include -// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC, -// but putting everything expect public, user-specializable metafunctions into -// a separate global namespace has a nice side effect of reducing the length -// of template instantiation symbols, so we apply the workaround on all -// platforms that can handle it - -#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ - || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \ - -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl { -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }} - -#else - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -namespace mpl_ { namespace aux {} } -namespace boost { namespace mpl { using namespace mpl_; -namespace aux { using namespace mpl_::aux; } -}} -#endif +#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_ # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ { # define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE } +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} } +namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; +namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; } +}} #endif -#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) +#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE + +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl { +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }} + +#endif + + +#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \ + && !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) + # define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \ - namespace boost { namespace mpl { using ::mpl_::type; } } \ + namespace boost { namespace mpl { \ + using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ + } } \ /**/ + #else # define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/ #endif + #endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED diff --git a/include/boost/mpl/aux_/config/adl.hpp b/include/boost/mpl/aux_/config/adl.hpp new file mode 100644 index 0000000..c804d85 --- /dev/null +++ b/include/boost/mpl/aux_/config/adl.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under 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 +#include +#include +#include + +// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC, +// but putting everything expect public, user-specializable metafunctions into +// a separate global namespace has a nice side effect of reducing the length +// of template instantiation symbols, so we apply the workaround on all +// platforms that can handle it + +#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \ + && ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ + || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ + || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \ + ) + +# define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED diff --git a/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp index 4cb7d7d..ff97364 100644 --- a/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +++ b/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp @@ -1,5 +1,5 @@ -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -12,13 +12,16 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg< -1 > _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization @@ -26,53 +29,77 @@ BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<1> _1; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_1) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<2> _2; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_2) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<3> _3; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_3) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<4> _4; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_4) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<5> _5; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_5) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -}}} +} + +}} BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg<6> _6; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_6) +namespace boost { namespace mpl { -namespace boost { namespace mpl { namespace placeholders { +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -}}} +} + +}} diff --git a/include/boost/mpl/placeholders.hpp b/include/boost/mpl/placeholders.hpp index 17918af..35c1458 100644 --- a/include/boost/mpl/placeholders.hpp +++ b/include/boost/mpl/placeholders.hpp @@ -6,7 +6,7 @@ #ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED #define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED -// Copyright Aleksey Gurtovoy 2001-2003 +// Copyright Aleksey Gurtovoy 2001-2004 // Copyright Peter Dimov 2001-2003 // // Distributed under the Boost Software License, Version 1.0. @@ -23,6 +23,15 @@ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include + +# if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) +# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \ + using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ + /**/ +# else +# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/ +# endif + #endif #include @@ -43,15 +52,18 @@ // watch out for GNU gettext users, who #define _(x) #if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - typedef arg<-1> _; - BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(_) -namespace boost { namespace mpl { namespace placeholders { +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -}}} +} + +}} #endif /// agurt, 17/mar/02: one more placeholder for the last 'apply#' @@ -66,18 +78,23 @@ using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; ///// iteration #else -#define i BOOST_PP_FRAME_ITERATION(1) +#define i_ BOOST_PP_FRAME_ITERATION(1) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg BOOST_PP_CAT(_,i); +typedef arg BOOST_PP_CAT(_,i_); BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i)) -namespace boost { namespace mpl { namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i); -}}} +namespace boost { namespace mpl { -#undef i +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_)) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_); +} + +}} + +#undef i_ #endif // BOOST_PP_IS_ITERATING