Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work.
[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 <boost/preprocessor/iterate.hpp>
14 #include <boost/detail/workaround.hpp>
15
16 #ifndef BOOST_FUNCTION_MAX_ARGS
17 #  define BOOST_FUNCTION_MAX_ARGS 10
18 #endif // BOOST_FUNCTION_MAX_ARGS
19
20 // Include the prologue here so that the use of file-level iteration
21 // in anything that may be included by function_template.hpp doesn't break
22 #include <boost/function/detail/prologue.hpp>
23
24 // Visual Age C++ doesn't handle the file iteration well
25 #if BOOST_WORKAROUND(__IBMCPP__, >= 500)
26 #  if BOOST_FUNCTION_MAX_ARGS >= 0
27 #    include <boost/function/function0.hpp>
28 #  endif
29 #  if BOOST_FUNCTION_MAX_ARGS >= 1
30 #    include <boost/function/function1.hpp>
31 #  endif
32 #  if BOOST_FUNCTION_MAX_ARGS >= 2
33 #    include <boost/function/function2.hpp>
34 #  endif
35 #  if BOOST_FUNCTION_MAX_ARGS >= 3
36 #    include <boost/function/function3.hpp>
37 #  endif
38 #  if BOOST_FUNCTION_MAX_ARGS >= 4
39 #    include <boost/function/function4.hpp>
40 #  endif
41 #  if BOOST_FUNCTION_MAX_ARGS >= 5
42 #    include <boost/function/function5.hpp>
43 #  endif
44 #  if BOOST_FUNCTION_MAX_ARGS >= 6
45 #    include <boost/function/function6.hpp>
46 #  endif
47 #  if BOOST_FUNCTION_MAX_ARGS >= 7
48 #    include <boost/function/function7.hpp>
49 #  endif
50 #  if BOOST_FUNCTION_MAX_ARGS >= 8
51 #    include <boost/function/function8.hpp>
52 #  endif
53 #  if BOOST_FUNCTION_MAX_ARGS >= 9
54 #    include <boost/function/function9.hpp>
55 #  endif
56 #  if BOOST_FUNCTION_MAX_ARGS >= 10
57 #    include <boost/function/function10.hpp>
58 #  endif
59 #else
60 // What is the '3' for?
61 #  define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<boost/function/detail/function_iterate.hpp>))
62 #  include BOOST_PP_ITERATE()
63 #  undef BOOST_PP_ITERATION_PARAMS_1
64 #endif