1 // Copyright David Abrahams 2005. Distributed under the Boost 2 // Software License, Version 1.0. (See accompanying 3 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 #ifndef BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP 5 # define BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP 6 7 # include <boost/utility/result_of.hpp> 8 9 // A metafunction returning the result of invoking a nullary function 10 // object of the given type. 11 12 #ifndef BOOST_NO_RESULT_OF 13 14 # include <boost/utility/result_of.hpp> 15 namespace boost { namespace parameter { namespace aux { 16 template <class F> 17 struct result_of0 : result_of<F()> 18 {}; 19 20 }}} // namespace boost::parameter::aux_ 21 22 #else 23 24 namespace boost { namespace parameter { namespace aux { 25 template <class F> 26 struct result_of0 27 { 28 typedef typename F::result_type type; 29 }; 30 31 }}} // namespace boost::parameter::aux_ 32 33 #endif 34 35 36 #endif // BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP 37