File indexing completed on 2025-12-16 09:57:26
0001
0002 #if !defined(BOOST_PP_IS_ITERATING)
0003
0004
0005
0006 #ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
0007 #define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #if !defined(BOOST_MPL_PREPROCESSING_MODE)
0024 # include <boost/mpl/arg.hpp>
0025 # include <boost/mpl/aux_/adl_barrier.hpp>
0026
0027 # if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
0028 # define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \
0029 using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
0030
0031 # else
0032 # define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type)
0033 # endif
0034
0035 #endif
0036
0037 #include <boost/mpl/aux_/config/use_preprocessed.hpp>
0038
0039 #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
0040 && !defined(BOOST_MPL_PREPROCESSING_MODE)
0041
0042 # define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp
0043 # include <boost/mpl/aux_/include_preprocessed.hpp>
0044
0045 #else
0046
0047 # include <boost/mpl/aux_/nttp_decl.hpp>
0048 # include <boost/mpl/limits/arity.hpp>
0049 # include <boost/preprocessor/iterate.hpp>
0050 # include <boost/preprocessor/cat.hpp>
0051
0052
0053 #if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
0054 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
0055 typedef arg<-1> _;
0056 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
0057
0058 namespace boost { namespace mpl {
0059
0060 BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
0061
0062 namespace placeholders {
0063 using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
0064 }
0065
0066 }}
0067 #endif
0068
0069
0070
0071 #define BOOST_PP_ITERATION_PARAMS_1 \
0072 (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <boost/mpl/placeholders.hpp>))
0073 #include BOOST_PP_ITERATE()
0074
0075 #endif
0076 #endif
0077
0078
0079
0080 #else
0081 #define i_ BOOST_PP_FRAME_ITERATION(1)
0082
0083 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
0084
0085 typedef arg<i_> BOOST_PP_CAT(_,i_);
0086
0087 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
0088
0089 namespace boost { namespace mpl {
0090
0091 BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_))
0092
0093 namespace placeholders {
0094 using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_);
0095 }
0096
0097 }}
0098
0099 #undef i_
0100 #endif