File indexing completed on 2025-12-16 10:00:31
0001
0002
0003
0004
0005
0006
0007
0008 #if !BOOST_PHOENIX_IS_ITERATING
0009
0010 #include <boost/phoenix/core/expression.hpp>
0011 #include <boost/phoenix/core/detail/function_eval.hpp>
0012
0013 namespace boost { namespace phoenix {
0014 template <typename F>
0015 inline
0016 typename detail::expression::function_eval<F>::type const
0017 bind(F f)
0018 {
0019 return detail::expression::function_eval<F>::make(f);
0020 }
0021
0022 #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
0023 #include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp>
0024 #else
0025
0026 #if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
0027 #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_function_object_" BOOST_PHOENIX_LIMIT_STR ".hpp")
0028 #endif
0029
0030
0031
0032
0033
0034
0035
0036
0037 #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
0038 #pragma wave option(preserve: 1)
0039 #endif
0040
0041 #define BOOST_PHOENIX_ITERATION_PARAMS \
0042 (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \
0043 <boost/phoenix/bind/detail/cpp03/bind_function_object.hpp>))
0044 #include BOOST_PHOENIX_ITERATE()
0045
0046 #if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
0047 #pragma wave option(output: null)
0048 #endif
0049
0050 #endif
0051
0052 }}
0053
0054 #else
0055
0056 template <
0057 typename F
0058 , BOOST_PHOENIX_typename_A
0059 >
0060 inline
0061 typename detail::expression::function_eval<
0062 F
0063 , BOOST_PHOENIX_A
0064 >::type const
0065 bind(F f, BOOST_PHOENIX_A_const_ref_a)
0066 {
0067 return
0068 detail::expression::function_eval<F, BOOST_PHOENIX_A>::make(
0069 f
0070 , BOOST_PHOENIX_a
0071 );
0072 }
0073
0074 #endif