1// Boost.Function library
2// Copyright (C) Douglas Gregor 2008
3//
4// Use, modification and distribution is subject to the Boost
5// Software License, Version 1.0. (See accompanying file
6// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7//
8// For more information, see http://www.boost.org
9#ifndef BOOST_FUNCTION_FWD_HPP
10#define BOOST_FUNCTION_FWD_HPP
11#include <boost/config.hpp>
12
13namespace boost {
14 class bad_function_call;
15
16 // Preferred syntax
17 template<typename Signature> class function;
18
19 template<typename Signature>
20 inline void swap(function<Signature>& f1, function<Signature>& f2)
21 {
22 f1.swap(f2);
23 }
24
25 // Portable syntax
26 template<typename R, typename... T> class function_n;
27
28 template<typename R, typename... T> using function0 = function_n<R, T...>;
29 template<typename R, typename... T> using function1 = function_n<R, T...>;
30 template<typename R, typename... T> using function2 = function_n<R, T...>;
31 template<typename R, typename... T> using function3 = function_n<R, T...>;
32 template<typename R, typename... T> using function4 = function_n<R, T...>;
33 template<typename R, typename... T> using function5 = function_n<R, T...>;
34 template<typename R, typename... T> using function6 = function_n<R, T...>;
35 template<typename R, typename... T> using function7 = function_n<R, T...>;
36 template<typename R, typename... T> using function8 = function_n<R, T...>;
37 template<typename R, typename... T> using function9 = function_n<R, T...>;
38
39 template<typename R, typename... T> using function10 = function_n<R, T...>;
40 template<typename R, typename... T> using function11 = function_n<R, T...>;
41 template<typename R, typename... T> using function12 = function_n<R, T...>;
42 template<typename R, typename... T> using function13 = function_n<R, T...>;
43 template<typename R, typename... T> using function14 = function_n<R, T...>;
44 template<typename R, typename... T> using function15 = function_n<R, T...>;
45 template<typename R, typename... T> using function16 = function_n<R, T...>;
46 template<typename R, typename... T> using function17 = function_n<R, T...>;
47 template<typename R, typename... T> using function18 = function_n<R, T...>;
48 template<typename R, typename... T> using function19 = function_n<R, T...>;
49
50 template<typename R, typename... T> using function20 = function_n<R, T...>;
51 template<typename R, typename... T> using function21 = function_n<R, T...>;
52 template<typename R, typename... T> using function22 = function_n<R, T...>;
53 template<typename R, typename... T> using function23 = function_n<R, T...>;
54 template<typename R, typename... T> using function24 = function_n<R, T...>;
55 template<typename R, typename... T> using function25 = function_n<R, T...>;
56 template<typename R, typename... T> using function26 = function_n<R, T...>;
57 template<typename R, typename... T> using function27 = function_n<R, T...>;
58 template<typename R, typename... T> using function28 = function_n<R, T...>;
59 template<typename R, typename... T> using function29 = function_n<R, T...>;
60
61 template<typename R, typename... T> using function30 = function_n<R, T...>;
62}
63
64#endif
65

source code of boost/libs/function/include/boost/function/function_fwd.hpp