1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/mpl/placeholders.hpp Wed Mar 31 12:33:34 2010 +0100
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