-// Boost.Function library\r
-// Copyright (C) Douglas Gregor 2008\r
-//\r
-// Use, modification and distribution is subject to the Boost\r
-// Software License, Version 1.0. (See accompanying file\r
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-// For more information, see http://www.boost.org\r
-#ifndef BOOST_FUNCTION_FWD_HPP\r
-#define BOOST_FUNCTION_FWD_HPP\r
-#include <boost/config.hpp>\r
-\r
-#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)\r
-// Work around a compiler bug.\r
-// boost::python::objects::function has to be seen by the compiler before the\r
-// boost::function class template.\r
-namespace boost { namespace python { namespace objects {\r
- class function;\r
-}}}\r
-#endif\r
-\r
-#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \\r
- || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \\r
- || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)\r
-# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX\r
-#endif\r
-\r
-namespace boost {\r
- class bad_function_call;\r
-\r
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)\r
- // Preferred syntax\r
- template<typename Signature> class function;\r
-\r
- template<typename Signature>\r
- inline void swap(function<Signature>& f1, function<Signature>& f2)\r
- {\r
- f1.swap(f2);\r
- }\r
-#endif // have partial specialization\r
-\r
- // Portable syntax\r
- template<typename R> class function0;\r
- template<typename R, typename T1> class function1;\r
- template<typename R, typename T1, typename T2> class function2;\r
- template<typename R, typename T1, typename T2, typename T3> class function3;\r
- template<typename R, typename T1, typename T2, typename T3, typename T4> \r
- class function4;\r
- template<typename R, typename T1, typename T2, typename T3, typename T4,\r
- typename T5> \r
- class function5;\r
- template<typename R, typename T1, typename T2, typename T3, typename T4,\r
- typename T5, typename T6> \r
- class function6;\r
- template<typename R, typename T1, typename T2, typename T3, typename T4,\r
- typename T5, typename T6, typename T7> \r
- class function7;\r
- template<typename R, typename T1, typename T2, typename T3, typename T4,\r
- typename T5, typename T6, typename T7, typename T8> \r
- class function8;\r
- template<typename R, typename T1, typename T2, typename T3, typename T4,\r
- typename T5, typename T6, typename T7, typename T8, typename T9> \r
- class function9;\r
- template<typename R, typename T1, typename T2, typename T3, typename T4,\r
- typename T5, typename T6, typename T7, typename T8, typename T9,\r
- typename T10> \r
- class function10;\r
-}\r
-\r
-#endif\r
+// Boost.Function library
+// Copyright (C) Douglas Gregor 2008
+//
+// Use, modification and distribution is subject to the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// For more information, see http://www.boost.org
+#ifndef BOOST_FUNCTION_FWD_HPP
+#define BOOST_FUNCTION_FWD_HPP
+#include <boost/config.hpp>
+
+#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
+// Work around a compiler bug.
+// boost::python::objects::function has to be seen by the compiler before the
+// boost::function class template.
+namespace boost { namespace python { namespace objects {
+ class function;
+}}}
+#endif
+
+#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+ || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
+ || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
+# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
+#endif
+
+namespace boost {
+ class bad_function_call;
+
+#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
+ // Preferred syntax
+ template<typename Signature> class function;
+
+ template<typename Signature>
+ inline void swap(function<Signature>& f1, function<Signature>& f2)
+ {
+ f1.swap(f2);
+ }
+#endif // have partial specialization
+
+ // Portable syntax
+ template<typename R> class function0;
+ template<typename R, typename T1> class function1;
+ template<typename R, typename T1, typename T2> class function2;
+ template<typename R, typename T1, typename T2, typename T3> class function3;
+ template<typename R, typename T1, typename T2, typename T3, typename T4>
+ class function4;
+ template<typename R, typename T1, typename T2, typename T3, typename T4,
+ typename T5>
+ class function5;
+ template<typename R, typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6>
+ class function6;
+ template<typename R, typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7>
+ class function7;
+ template<typename R, typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8>
+ class function8;
+ template<typename R, typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8, typename T9>
+ class function9;
+ template<typename R, typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8, typename T9,
+ typename T10>
+ class function10;
+}
+
+#endif