epoc32/include/stdapis/boost/bind/placeholders.hpp
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     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