]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 |