]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / phoenix / bind / detail / cpp03 / bind_function_object.hpp
1 /*=============================================================================
2 Copyright (c) 2001-2007 Joel de Guzman
3
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7
8 #if !BOOST_PHOENIX_IS_ITERATING
9
10 #include <boost/phoenix/core/expression.hpp>
11 #include <boost/phoenix/core/detail/function_eval.hpp>
12
13 namespace boost { namespace phoenix {
14 template <typename F>
15 inline
16 typename detail::expression::function_eval<F>::type const
17 bind(F f)
18 {
19 return detail::expression::function_eval<F>::make(f);
20 }
21
22 #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
23 #include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp>
24 #else
25
26 #if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
27 #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_function_object_" BOOST_PHOENIX_LIMIT_STR ".hpp")
28 #endif
29
30 /*=============================================================================
31 Copyright (c) 2001-2007 Joel de Guzman
32
33 Distributed under the Boost Software License, Version 1.0. (See accompanying
34 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
35 ==============================================================================*/
36
37 #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
38 #pragma wave option(preserve: 1)
39 #endif
40
41 #define BOOST_PHOENIX_ITERATION_PARAMS \
42 (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \
43 <boost/phoenix/bind/detail/cpp03/bind_function_object.hpp>))
44 #include BOOST_PHOENIX_ITERATE()
45
46 #if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
47 #pragma wave option(output: null)
48 #endif
49
50 #endif
51
52 }}
53
54 #else
55
56 template <
57 typename F
58 , BOOST_PHOENIX_typename_A
59 >
60 inline
61 typename detail::expression::function_eval<
62 F
63 , BOOST_PHOENIX_A
64 >::type const
65 bind(F f, BOOST_PHOENIX_A_const_ref_a)
66 {
67 return
68 detail::expression::function_eval<F, BOOST_PHOENIX_A>::make(
69 f
70 , BOOST_PHOENIX_a
71 );
72 }
73
74 #endif