// 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 #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_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 class function; template inline void swap(function& f1, function& f2) { f1.swap(f2); } #endif // have partial specialization // Portable syntax template class function_n; template using function0 = function_n; template using function1 = function_n; template using function2 = function_n; template using function3 = function_n; template using function4 = function_n; template using function5 = function_n; template using function6 = function_n; template using function7 = function_n; template using function8 = function_n; template using function9 = function_n; template using function10 = function_n; template using function11 = function_n; template using function12 = function_n; template using function13 = function_n; template using function14 = function_n; template using function15 = function_n; template using function16 = function_n; template using function17 = function_n; template using function18 = function_n; template using function19 = function_n; template using function20 = function_n; template using function21 = function_n; template using function22 = function_n; template using function23 = function_n; template using function24 = function_n; template using function25 = function_n; template using function26 = function_n; template using function27 = function_n; template using function28 = function_n; template using function29 = function_n; template using function30 = function_n; } #endif