Fixes for VS 2008
[dyninst.git] / external / boost / function.hpp
1 // Boost.Function library\r
2 \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
7 \r
8 // For more information, see http://www.boost.org/libs/function\r
9 \r
10 // William Kempf, Jesse Jones and Karl Nelson were all very helpful in the\r
11 // design of this library.\r
12 \r
13 #include <functional> // unary_function, binary_function\r
14 \r
15 #include <boost/preprocessor/iterate.hpp>\r
16 #include <boost/detail/workaround.hpp>\r
17 \r
18 #ifndef BOOST_FUNCTION_MAX_ARGS\r
19 #  define BOOST_FUNCTION_MAX_ARGS 10\r
20 #endif // BOOST_FUNCTION_MAX_ARGS\r
21 \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
25 \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
30 #  endif\r
31 #  if BOOST_FUNCTION_MAX_ARGS >= 1\r
32 #    include <boost/function/function1.hpp>\r
33 #  endif\r
34 #  if BOOST_FUNCTION_MAX_ARGS >= 2\r
35 #    include <boost/function/function2.hpp>\r
36 #  endif\r
37 #  if BOOST_FUNCTION_MAX_ARGS >= 3\r
38 #    include <boost/function/function3.hpp>\r
39 #  endif\r
40 #  if BOOST_FUNCTION_MAX_ARGS >= 4\r
41 #    include <boost/function/function4.hpp>\r
42 #  endif\r
43 #  if BOOST_FUNCTION_MAX_ARGS >= 5\r
44 #    include <boost/function/function5.hpp>\r
45 #  endif\r
46 #  if BOOST_FUNCTION_MAX_ARGS >= 6\r
47 #    include <boost/function/function6.hpp>\r
48 #  endif\r
49 #  if BOOST_FUNCTION_MAX_ARGS >= 7\r
50 #    include <boost/function/function7.hpp>\r
51 #  endif\r
52 #  if BOOST_FUNCTION_MAX_ARGS >= 8\r
53 #    include <boost/function/function8.hpp>\r
54 #  endif\r
55 #  if BOOST_FUNCTION_MAX_ARGS >= 9\r
56 #    include <boost/function/function9.hpp>\r
57 #  endif\r
58 #  if BOOST_FUNCTION_MAX_ARGS >= 10\r
59 #    include <boost/function/function10.hpp>\r
60 #  endif\r
61 #else\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
66 #endif\r