function_fwd.hpp 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. namespace boost {
  13. class bad_function_call;
  14. // Preferred syntax
  15. template<typename Signature> class function;
  16. template<typename Signature>
  17. inline void swap(function<Signature>& f1, function<Signature>& f2)
  18. {
  19. f1.swap(f2);
  20. }
  21. // Portable syntax
  22. template<typename R, typename... T> class function_n;
  23. template<typename R, typename... T> using function0 = function_n<R, T...>;
  24. template<typename R, typename... T> using function1 = function_n<R, T...>;
  25. template<typename R, typename... T> using function2 = function_n<R, T...>;
  26. template<typename R, typename... T> using function3 = function_n<R, T...>;
  27. template<typename R, typename... T> using function4 = function_n<R, T...>;
  28. template<typename R, typename... T> using function5 = function_n<R, T...>;
  29. template<typename R, typename... T> using function6 = function_n<R, T...>;
  30. template<typename R, typename... T> using function7 = function_n<R, T...>;
  31. template<typename R, typename... T> using function8 = function_n<R, T...>;
  32. template<typename R, typename... T> using function9 = function_n<R, T...>;
  33. template<typename R, typename... T> using function10 = function_n<R, T...>;
  34. template<typename R, typename... T> using function11 = function_n<R, T...>;
  35. template<typename R, typename... T> using function12 = function_n<R, T...>;
  36. template<typename R, typename... T> using function13 = function_n<R, T...>;
  37. template<typename R, typename... T> using function14 = function_n<R, T...>;
  38. template<typename R, typename... T> using function15 = function_n<R, T...>;
  39. template<typename R, typename... T> using function16 = function_n<R, T...>;
  40. template<typename R, typename... T> using function17 = function_n<R, T...>;
  41. template<typename R, typename... T> using function18 = function_n<R, T...>;
  42. template<typename R, typename... T> using function19 = function_n<R, T...>;
  43. template<typename R, typename... T> using function20 = function_n<R, T...>;
  44. template<typename R, typename... T> using function21 = function_n<R, T...>;
  45. template<typename R, typename... T> using function22 = function_n<R, T...>;
  46. template<typename R, typename... T> using function23 = function_n<R, T...>;
  47. template<typename R, typename... T> using function24 = function_n<R, T...>;
  48. template<typename R, typename... T> using function25 = function_n<R, T...>;
  49. template<typename R, typename... T> using function26 = function_n<R, T...>;
  50. template<typename R, typename... T> using function27 = function_n<R, T...>;
  51. template<typename R, typename... T> using function28 = function_n<R, T...>;
  52. template<typename R, typename... T> using function29 = function_n<R, T...>;
  53. template<typename R, typename... T> using function30 = function_n<R, T...>;
  54. }
  55. #endif