1.1 --- a/epoc32/include/stdapis/boost/bind/placeholders.hpp Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/boost/bind/placeholders.hpp Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,100 +1,68 @@
1.4 +#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
1.5 +#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
1.6
1.7 -#if !defined(BOOST_PP_IS_ITERATING)
1.8 +// MS compatible compilers support #pragma once
1.9
1.10 -///// header body
1.11 +#if defined(_MSC_VER) && (_MSC_VER >= 1020)
1.12 +# pragma once
1.13 +#endif
1.14
1.15 -#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
1.16 -#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
1.17 -
1.18 -// Copyright Aleksey Gurtovoy 2001-2004
1.19 -// Copyright Peter Dimov 2001-2003
1.20 //
1.21 -// Distributed under the Boost Software License, Version 1.0.
1.22 -// (See accompanying file LICENSE_1_0.txt or copy at
1.23 +// bind/placeholders.hpp - _N definitions
1.24 +//
1.25 +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
1.26 +//
1.27 +// Distributed under the Boost Software License, Version 1.0. (See
1.28 +// accompanying file LICENSE_1_0.txt or copy at
1.29 // http://www.boost.org/LICENSE_1_0.txt)
1.30 //
1.31 -// See http://www.boost.org/libs/mpl for documentation.
1.32 +// See http://www.boost.org/libs/bind/bind.html for documentation.
1.33 +//
1.34
1.35 -// $Source: /cvsroot/boost/boost/boost/mpl/placeholders.hpp,v $
1.36 -// $Date: 2004/09/16 14:08:46 $
1.37 -// $Revision: 1.4 $
1.38 +#include <boost/bind/arg.hpp>
1.39 +#include <boost/config.hpp>
1.40
1.41 +namespace
1.42 +{
1.43
1.44 -#if !defined(BOOST_MPL_PREPROCESSING_MODE)
1.45 -# include <boost/mpl/arg.hpp>
1.46 -# include <boost/mpl/aux_/adl_barrier.hpp>
1.47 +#if defined(__BORLANDC__) || defined(__GNUC__)
1.48
1.49 -# if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
1.50 -# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \
1.51 - using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
1.52 - /**/
1.53 -# else
1.54 -# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/
1.55 -# endif
1.56 +static inline boost::arg<1> _1() { return boost::arg<1>(); }
1.57 +static inline boost::arg<2> _2() { return boost::arg<2>(); }
1.58 +static inline boost::arg<3> _3() { return boost::arg<3>(); }
1.59 +static inline boost::arg<4> _4() { return boost::arg<4>(); }
1.60 +static inline boost::arg<5> _5() { return boost::arg<5>(); }
1.61 +static inline boost::arg<6> _6() { return boost::arg<6>(); }
1.62 +static inline boost::arg<7> _7() { return boost::arg<7>(); }
1.63 +static inline boost::arg<8> _8() { return boost::arg<8>(); }
1.64 +static inline boost::arg<9> _9() { return boost::arg<9>(); }
1.65 +
1.66 +#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__)
1.67 +
1.68 +static boost::arg<1> _1;
1.69 +static boost::arg<2> _2;
1.70 +static boost::arg<3> _3;
1.71 +static boost::arg<4> _4;
1.72 +static boost::arg<5> _5;
1.73 +static boost::arg<6> _6;
1.74 +static boost::arg<7> _7;
1.75 +static boost::arg<8> _8;
1.76 +static boost::arg<9> _9;
1.77 +
1.78 +#else
1.79 +
1.80 +boost::arg<1> _1;
1.81 +boost::arg<2> _2;
1.82 +boost::arg<3> _3;
1.83 +boost::arg<4> _4;
1.84 +boost::arg<5> _5;
1.85 +boost::arg<6> _6;
1.86 +boost::arg<7> _7;
1.87 +boost::arg<8> _8;
1.88 +boost::arg<9> _9;
1.89
1.90 #endif
1.91
1.92 -#include <boost/mpl/aux_/config/use_preprocessed.hpp>
1.93 +} // unnamed namespace
1.94
1.95 -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
1.96 - && !defined(BOOST_MPL_PREPROCESSING_MODE)
1.97 -
1.98 -# define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp
1.99 -# include <boost/mpl/aux_/include_preprocessed.hpp>
1.100 -
1.101 -#else
1.102 -
1.103 -# include <boost/mpl/aux_/nttp_decl.hpp>
1.104 -# include <boost/mpl/limits/arity.hpp>
1.105 -# include <boost/preprocessor/iterate.hpp>
1.106 -# include <boost/preprocessor/cat.hpp>
1.107 -
1.108 -// watch out for GNU gettext users, who #define _(x)
1.109 -#if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
1.110 -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
1.111 -typedef arg<-1> _;
1.112 -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
1.113 -
1.114 -namespace boost { namespace mpl {
1.115 -
1.116 -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
1.117 -
1.118 -namespace placeholders {
1.119 -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
1.120 -}
1.121 -
1.122 -}}
1.123 -#endif
1.124 -
1.125 -/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
1.126 -/// specialization
1.127 -#define BOOST_PP_ITERATION_PARAMS_1 \
1.128 - (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <boost/mpl/placeholders.hpp>))
1.129 -#include BOOST_PP_ITERATE()
1.130 -
1.131 -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
1.132 -#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
1.133 -
1.134 -///// iteration
1.135 -
1.136 -#else
1.137 -#define i_ BOOST_PP_FRAME_ITERATION(1)
1.138 -
1.139 -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
1.140 -
1.141 -typedef arg<i_> BOOST_PP_CAT(_,i_);
1.142 -
1.143 -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
1.144 -
1.145 -namespace boost { namespace mpl {
1.146 -
1.147 -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_))
1.148 -
1.149 -namespace placeholders {
1.150 -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_);
1.151 -}
1.152 -
1.153 -}}
1.154 -
1.155 -#undef i_
1.156 -#endif // BOOST_PP_IS_ITERATING
1.157 +#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED