function_handle.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 45 行

HPP
45
字号
// Copyright David Abrahams 2002.// Distributed under 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)#ifndef FUNCTION_HANDLE_DWA2002725_HPP# define FUNCTION_HANDLE_DWA2002725_HPP# include <boost/python/handle.hpp># include <boost/python/detail/caller.hpp># include <boost/python/default_call_policies.hpp># include <boost/python/object/py_function.hpp># include <boost/python/signature.hpp>namespace boost { namespace python { namespace objects { BOOST_PYTHON_DECL handle<> function_handle_impl(py_function const& f);// Just like function_object, but returns a handle<> instead. Using// this for arg_to_python<> allows us to break a circular dependency// between object and arg_to_python.template <class F, class Signature>inline handle<> function_handle(F const& f, Signature){    enum { n_arguments = mpl::size<Signature>::value - 1 };    return objects::function_handle_impl(        python::detail::caller<            F,default_call_policies,Signature        >(            f, default_call_policies()         )    );}// Just like make_function, but returns a handle<> intead. Same// reasoning as above.template <class F>handle<> make_function_handle(F f){    return objects::function_handle(f, python::detail::get_signature(f));}}}} // namespace boost::python::objects#endif // FUNCTION_HANDLE_DWA2002725_HPP

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?