Revision 1 as of 2008-12-05 10:59:57

Clear message

Issue et modifié à partir de http://www.boost.org/doc/libs/1_37_0/libs/python/doc/v2/overloads.html

Certaines méthodes et fonctions on des paramètres par défaut.

Pour informer boost::python des paramètres requis il est nécessaire d'utiliser les deux instructions suivantes :

BOOST_PYTHON_FUNCTION_OVERLOADS( overloadsname , functionname , arg_minimum, arg_maximum ) BOOST_PYTHON_FUNCTION_OVERLOADS( overloadsname , classname::staticmethodname , arg_minimum, arg_maximum )

Pour les fonctions globales et pour les méthodes statiques des classes.

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS( overloadsname , classname::methodname, arg_minimum, arg_maximum )

Pour les méthodes des classes.

Example :

#include <boost/python/module.hpp> #include <boost/python/def.hpp> #include <boost/python/args.hpp> #include <boost/python/tuple.hpp> #include <boost/python/class.hpp> #include <boost/python/overloads.hpp> #include <boost/python/return_internal_reference.hpp>

using namespace boost::python;

tuple f(int x = 1, double y = 4.25, char const* z = "wow") {

}

BOOST_PYTHON_FUNCTION_OVERLOADS(f_overloads, f, 0, 3)

class X {

};

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(X_returnsame_overloads, X::returnsame, 0, 1) BOOST_PYTHON_FUNCTION_OVERLOADS(X_returnsum_overloads, X::returnsum, 1, 2)

BOOST_PYTHON_MODULE(args_ext) {

}

Unable to edit the page? See the FrontPage for instructions.