function_typeof.hpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Boost.Function library - Typeof support
  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_TYPEOF_HPP
  10. #define BOOST_FUNCTION_TYPEOF_HPP
  11. #include <boost/function/function_fwd.hpp>
  12. #include <boost/typeof/typeof.hpp>
  13. #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
  14. BOOST_TYPEOF_REGISTER_TYPE(boost::bad_function_call)
  15. #if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
  16. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function, (typename))
  17. #endif
  18. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function0, (typename))
  19. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function1, (typename)(typename))
  20. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function2, (typename)(typename)(typename))
  21. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function3,
  22. (typename)(typename)(typename)(typename))
  23. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function4,
  24. (typename)(typename)(typename)(typename)(typename))
  25. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function5,
  26. (typename)(typename)(typename)(typename)(typename)(typename))
  27. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function6,
  28. (typename)(typename)(typename)(typename)(typename)(typename)(typename))
  29. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function7,
  30. (typename)(typename)(typename)(typename)(typename)(typename)(typename)
  31. (typename))
  32. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function8,
  33. (typename)(typename)(typename)(typename)(typename)(typename)(typename)
  34. (typename)(typename))
  35. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function9,
  36. (typename)(typename)(typename)(typename)(typename)(typename)(typename)
  37. (typename)(typename)(typename))
  38. BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function10,
  39. (typename)(typename)(typename)(typename)(typename)(typename)(typename)
  40. (typename)(typename)(typename)(typename))
  41. #endif