C++的一个好库。。。现在很流行

源代码在线查看: function.hpp

软件大小: 21075 K
上传用户: lyyfengyutongzh
关键词:
下载地址: 免注册下载 普通下载 VIP

相关代码

				// Copyright David Abrahams 2001.
				// 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_DWA20011214_HPP
				# define FUNCTION_DWA20011214_HPP
				
				# include 
				# include 
				# include 
				# include 
				# include 
				# include 
				
				namespace boost { namespace python { namespace objects { 
				
				struct BOOST_PYTHON_DECL function : PyObject
				{
				    function(
				        py_function const&
				        , python::detail::keyword const* names_and_defaults
				        , unsigned num_keywords);
				      
				    ~function();
				    
				    PyObject* call(PyObject*, PyObject*) const;
				
				    // Add an attribute to the name_space with the given name. If it is
				    // a function object (this class), and an existing function is
				    // already there, add it as an overload.
				    static void add_to_namespace(
				        object const& name_space, char const* name, object const& attribute);
				
				    static void add_to_namespace(
				        object const& name_space, char const* name, object const& attribute, char const* doc);
				
				    object const& doc() const;
				    void doc(object const& x);
				    
				    object const& name() const;
				    
				 private: // helper functions
				    void argument_error(PyObject* args, PyObject* keywords) const;
				    void add_overload(handle const&);
				    
				 private: // data members
				    py_function m_fn;
				    handle m_overloads;
				    object m_name;
				    object m_namespace;
				    object m_doc;
				    object m_arg_names;
				    unsigned m_nkeyword_values;
				};
				
				//
				// implementations
				//
				inline object const& function::doc() const
				{
				    return this->m_doc;
				}
				
				inline void function::doc(object const& x)
				{
				    this->m_doc = x;
				}
				
				inline object const& function::name() const
				{
				    return this->m_name;
				}
				  
				}}} // namespace boost::python::objects
				
				#endif // FUNCTION_DWA20011214_HPP
							

相关资源