1 // Boost.Function library - Typeof support
\r
2 // Copyright (C) Douglas Gregor 2008
\r
4 // Use, modification and distribution is subject to the Boost
\r
5 // Software License, Version 1.0. (See accompanying file
\r
6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
\r
8 // For more information, see http://www.boost.org
\r
9 #ifndef BOOST_FUNCTION_TYPEOF_HPP
\r
10 #define BOOST_FUNCTION_TYPEOF_HPP
\r
11 #include <boost/function/function_fwd.hpp>
\r
12 #include <boost/typeof/typeof.hpp>
\r
14 #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
\r
16 BOOST_TYPEOF_REGISTER_TYPE(boost::bad_function_call)
\r
18 #if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
\r
19 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function, (typename))
\r
22 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function0, (typename))
\r
23 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function1, (typename)(typename))
\r
24 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function2, (typename)(typename)(typename))
\r
25 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function3,
\r
26 (typename)(typename)(typename)(typename))
\r
27 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function4,
\r
28 (typename)(typename)(typename)(typename)(typename))
\r
29 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function5,
\r
30 (typename)(typename)(typename)(typename)(typename)(typename))
\r
31 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function6,
\r
32 (typename)(typename)(typename)(typename)(typename)(typename)(typename))
\r
33 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function7,
\r
34 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
\r
36 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function8,
\r
37 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
\r
38 (typename)(typename))
\r
39 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function9,
\r
40 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
\r
41 (typename)(typename)(typename))
\r
42 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function10,
\r
43 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
\r
44 (typename)(typename)(typename)(typename))
\r