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