epoc32/include/stdapis/boost/mpl/placeholders.hpp
branchSymbian2
changeset 2 2fe1408b6811
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/stdapis/boost/mpl/placeholders.hpp	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -0,0 +1,100 @@
     1.4 +
     1.5 +#if !defined(BOOST_PP_IS_ITERATING)
     1.6 +
     1.7 +///// header body
     1.8 +
     1.9 +#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
    1.10 +#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
    1.11 +
    1.12 +// Copyright Aleksey Gurtovoy 2001-2004
    1.13 +// Copyright Peter Dimov 2001-2003
    1.14 +//
    1.15 +// Distributed under the Boost Software License, Version 1.0. 
    1.16 +// (See accompanying file LICENSE_1_0.txt or copy at 
    1.17 +// http://www.boost.org/LICENSE_1_0.txt)
    1.18 +//
    1.19 +// See http://www.boost.org/libs/mpl for documentation.
    1.20 +
    1.21 +// $Source: /cvsroot/boost/boost/boost/mpl/placeholders.hpp,v $
    1.22 +// $Date: 2004/09/16 14:08:46 $
    1.23 +// $Revision: 1.4 $
    1.24 +
    1.25 +
    1.26 +#if !defined(BOOST_MPL_PREPROCESSING_MODE)
    1.27 +#   include <boost/mpl/arg.hpp>
    1.28 +#   include <boost/mpl/aux_/adl_barrier.hpp>
    1.29 +
    1.30 +#   if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
    1.31 +#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \
    1.32 +        using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
    1.33 +        /**/
    1.34 +#   else
    1.35 +#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/
    1.36 +#   endif
    1.37 +
    1.38 +#endif
    1.39 +
    1.40 +#include <boost/mpl/aux_/config/use_preprocessed.hpp>
    1.41 +
    1.42 +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
    1.43 + && !defined(BOOST_MPL_PREPROCESSING_MODE)
    1.44 +
    1.45 +#   define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp
    1.46 +#   include <boost/mpl/aux_/include_preprocessed.hpp>
    1.47 +
    1.48 +#else
    1.49 +
    1.50 +#   include <boost/mpl/aux_/nttp_decl.hpp>
    1.51 +#   include <boost/mpl/limits/arity.hpp>
    1.52 +#   include <boost/preprocessor/iterate.hpp>
    1.53 +#   include <boost/preprocessor/cat.hpp>
    1.54 +
    1.55 +// watch out for GNU gettext users, who #define _(x)
    1.56 +#if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
    1.57 +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
    1.58 +typedef arg<-1> _;
    1.59 +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
    1.60 +
    1.61 +namespace boost { namespace mpl { 
    1.62 +
    1.63 +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
    1.64 +
    1.65 +namespace placeholders {
    1.66 +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
    1.67 +}
    1.68 +
    1.69 +}}
    1.70 +#endif
    1.71 +
    1.72 +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
    1.73 +/// specialization
    1.74 +#define BOOST_PP_ITERATION_PARAMS_1 \
    1.75 +    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <boost/mpl/placeholders.hpp>))
    1.76 +#include BOOST_PP_ITERATE()
    1.77 +
    1.78 +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
    1.79 +#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
    1.80 +
    1.81 +///// iteration
    1.82 +
    1.83 +#else
    1.84 +#define i_ BOOST_PP_FRAME_ITERATION(1)
    1.85 +
    1.86 +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
    1.87 +
    1.88 +typedef arg<i_> BOOST_PP_CAT(_,i_);
    1.89 +
    1.90 +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
    1.91 +
    1.92 +namespace boost { namespace mpl { 
    1.93 +
    1.94 +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_))
    1.95 +
    1.96 +namespace placeholders {
    1.97 +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_);
    1.98 +}
    1.99 +
   1.100 +}}
   1.101 +
   1.102 +#undef i_
   1.103 +#endif // BOOST_PP_IS_ITERATING