1 // Boost.Function library
\r
3 // Copyright Douglas Gregor 2001-2003. Use, modification and
\r
4 // distribution is subject to the Boost Software License, Version
\r
5 // 1.0. (See accompanying file LICENSE_1_0.txt or copy at
\r
6 // http://www.boost.org/LICENSE_1_0.txt)
\r
8 // For more information, see http://www.boost.org/libs/function
\r
10 // William Kempf, Jesse Jones and Karl Nelson were all very helpful in the
\r
11 // design of this library.
\r
13 #include <functional> // unary_function, binary_function
\r
15 #include <boost/preprocessor/iterate.hpp>
\r
16 #include <boost/detail/workaround.hpp>
\r
18 #ifndef BOOST_FUNCTION_MAX_ARGS
\r
19 # define BOOST_FUNCTION_MAX_ARGS 10
\r
20 #endif // BOOST_FUNCTION_MAX_ARGS
\r
22 // Include the prologue here so that the use of file-level iteration
\r
23 // in anything that may be included by function_template.hpp doesn't break
\r
24 #include <boost/function/detail/prologue.hpp>
\r
26 // Visual Age C++ doesn't handle the file iteration well
\r
27 #if BOOST_WORKAROUND(__IBMCPP__, >= 500)
\r
28 # if BOOST_FUNCTION_MAX_ARGS >= 0
\r
29 # include <boost/function/function0.hpp>
\r
31 # if BOOST_FUNCTION_MAX_ARGS >= 1
\r
32 # include <boost/function/function1.hpp>
\r
34 # if BOOST_FUNCTION_MAX_ARGS >= 2
\r
35 # include <boost/function/function2.hpp>
\r
37 # if BOOST_FUNCTION_MAX_ARGS >= 3
\r
38 # include <boost/function/function3.hpp>
\r
40 # if BOOST_FUNCTION_MAX_ARGS >= 4
\r
41 # include <boost/function/function4.hpp>
\r
43 # if BOOST_FUNCTION_MAX_ARGS >= 5
\r
44 # include <boost/function/function5.hpp>
\r
46 # if BOOST_FUNCTION_MAX_ARGS >= 6
\r
47 # include <boost/function/function6.hpp>
\r
49 # if BOOST_FUNCTION_MAX_ARGS >= 7
\r
50 # include <boost/function/function7.hpp>
\r
52 # if BOOST_FUNCTION_MAX_ARGS >= 8
\r
53 # include <boost/function/function8.hpp>
\r
55 # if BOOST_FUNCTION_MAX_ARGS >= 9
\r
56 # include <boost/function/function9.hpp>
\r
58 # if BOOST_FUNCTION_MAX_ARGS >= 10
\r
59 # include <boost/function/function10.hpp>
\r
62 // What is the '3' for?
\r
63 # define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
\r
64 # include BOOST_PP_ITERATE()
\r
65 # undef BOOST_PP_ITERATION_PARAMS_1
\r