// (C) Copyright David Abrahams 2000. Permission to copy, use, modify, sell and // distribute this software is granted provided this copyright notice appears // in all copies. This software is provided "as is" without express or implied // warranty, and with no claim as to its suitability for any purpose. // // The author gratefully acknowleges the support of Dragon Systems, Inc., in // producing this work. // // This file generated for 10-argument member functions and 11-argument free // functions by gen_caller.py #ifndef CALLER_DWA05090_H_ # define CALLER_DWA05090_H_ # include "pyconfig.h" # include "wrap_python.h" # include # include "signatures.h" # include "none.h" namespace py { // Calling C++ from Python template struct Caller { template static PyObject* call(R (T::*pmf)(), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; if (!PyArg_ParseTuple(args, const_cast("O"), &self)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)()); } template static PyObject* call(R (T::*pmf)(A1), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; if (!PyArg_ParseTuple(args, const_cast("OO"), &self, &a1)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; if (!PyArg_ParseTuple(args, const_cast("OOO"), &self, &a1, &a2)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; if (!PyArg_ParseTuple(args, const_cast("OOOO"), &self, &a1, &a2, &a3)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; if (!PyArg_ParseTuple(args, const_cast("OOOOO"), &self, &a1, &a2, &a3, &a4)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; if (!PyArg_ParseTuple(args, const_cast("OOOOOO"), &self, &a1, &a2, &a3, &a4, &a5)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; if (!PyArg_ParseTuple(args, const_cast("OOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type()))); } template static PyObject* call(R (T::*pmf)() const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; if (!PyArg_ParseTuple(args, const_cast("O"), &self)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)()); } template static PyObject* call(R (T::*pmf)(A1) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; if (!PyArg_ParseTuple(args, const_cast("OO"), &self, &a1)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; if (!PyArg_ParseTuple(args, const_cast("OOO"), &self, &a1, &a2)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; if (!PyArg_ParseTuple(args, const_cast("OOOO"), &self, &a1, &a2, &a3)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; if (!PyArg_ParseTuple(args, const_cast("OOOOO"), &self, &a1, &a2, &a3, &a4)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; if (!PyArg_ParseTuple(args, const_cast("OOOOOO"), &self, &a1, &a2, &a3, &a4, &a5)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; if (!PyArg_ParseTuple(args, const_cast("OOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()))); } template static PyObject* call(R (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10)) return 0; T& target = from_python(self, Type()); return to_python((target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type()))); } // Free functions static PyObject* call(R (*f)(), PyObject* args, PyObject* /* keywords */ ) { if (!PyArg_ParseTuple(args, const_cast(""))) return 0; return to_python(f()); } template static PyObject* call(R (*f)(A1), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; if (!PyArg_ParseTuple(args, const_cast("O"), &a1)) return 0; return to_python(f(from_python(a1, Type()))); } template static PyObject* call(R (*f)(A1, A2), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; if (!PyArg_ParseTuple(args, const_cast("OO"), &a1, &a2)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; if (!PyArg_ParseTuple(args, const_cast("OOO"), &a1, &a2, &a3)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; if (!PyArg_ParseTuple(args, const_cast("OOOO"), &a1, &a2, &a3, &a4)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4, A5), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; if (!PyArg_ParseTuple(args, const_cast("OOOOO"), &a1, &a2, &a3, &a4, &a5)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4, A5, A6), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; if (!PyArg_ParseTuple(args, const_cast("OOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4, A5, A6, A7), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; if (!PyArg_ParseTuple(args, const_cast("OOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4, A5, A6, A7, A8), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4, A5, A6, A7, A8, A9), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type()))); } template static PyObject* call(R (*f)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; PyObject* a11; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10, &a11)) return 0; return to_python(f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type()), from_python(a11, Type()))); } }; template <> struct Caller { template static PyObject* call(void (T::*pmf)(), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; if (!PyArg_ParseTuple(args, const_cast("O"), &self)) return 0; T& target = from_python(self, Type()); (target.*pmf)(); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; if (!PyArg_ParseTuple(args, const_cast("OO"), &self, &a1)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; if (!PyArg_ParseTuple(args, const_cast("OOO"), &self, &a1, &a2)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; if (!PyArg_ParseTuple(args, const_cast("OOOO"), &self, &a1, &a2, &a3)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; if (!PyArg_ParseTuple(args, const_cast("OOOOO"), &self, &a1, &a2, &a3, &a4)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; if (!PyArg_ParseTuple(args, const_cast("OOOOOO"), &self, &a1, &a2, &a3, &a4, &a5)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; if (!PyArg_ParseTuple(args, const_cast("OOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)() const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; if (!PyArg_ParseTuple(args, const_cast("O"), &self)) return 0; T& target = from_python(self, Type()); (target.*pmf)(); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; if (!PyArg_ParseTuple(args, const_cast("OO"), &self, &a1)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; if (!PyArg_ParseTuple(args, const_cast("OOO"), &self, &a1, &a2)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; if (!PyArg_ParseTuple(args, const_cast("OOOO"), &self, &a1, &a2, &a3)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; if (!PyArg_ParseTuple(args, const_cast("OOOOO"), &self, &a1, &a2, &a3, &a4)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; if (!PyArg_ParseTuple(args, const_cast("OOOOOO"), &self, &a1, &a2, &a3, &a4, &a5)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; if (!PyArg_ParseTuple(args, const_cast("OOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type())); return detail::none(); } template static PyObject* call(void (T::*pmf)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) const, PyObject* args, PyObject* /* keywords */ ) { PyObject* self; PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOOO"), &self, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10)) return 0; T& target = from_python(self, Type()); (target.*pmf)(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type())); return detail::none(); } // Free functions static PyObject* call(void (*f)(), PyObject* args, PyObject* /* keywords */ ) { if (!PyArg_ParseTuple(args, const_cast(""))) return 0; f(); return detail::none(); } template static PyObject* call(void (*f)(A1), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; if (!PyArg_ParseTuple(args, const_cast("O"), &a1)) return 0; f(from_python(a1, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; if (!PyArg_ParseTuple(args, const_cast("OO"), &a1, &a2)) return 0; f(from_python(a1, Type()), from_python(a2, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; if (!PyArg_ParseTuple(args, const_cast("OOO"), &a1, &a2, &a3)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; if (!PyArg_ParseTuple(args, const_cast("OOOO"), &a1, &a2, &a3, &a4)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4, A5), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; if (!PyArg_ParseTuple(args, const_cast("OOOOO"), &a1, &a2, &a3, &a4, &a5)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4, A5, A6), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; if (!PyArg_ParseTuple(args, const_cast("OOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4, A5, A6, A7), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; if (!PyArg_ParseTuple(args, const_cast("OOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4, A5, A6, A7, A8), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4, A5, A6, A7, A8, A9), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type())); return detail::none(); } template static PyObject* call(void (*f)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), PyObject* args, PyObject* /* keywords */ ) { PyObject* a1; PyObject* a2; PyObject* a3; PyObject* a4; PyObject* a5; PyObject* a6; PyObject* a7; PyObject* a8; PyObject* a9; PyObject* a10; PyObject* a11; if (!PyArg_ParseTuple(args, const_cast("OOOOOOOOOOO"), &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10, &a11)) return 0; f(from_python(a1, Type()), from_python(a2, Type()), from_python(a3, Type()), from_python(a4, Type()), from_python(a5, Type()), from_python(a6, Type()), from_python(a7, Type()), from_python(a8, Type()), from_python(a9, Type()), from_python(a10, Type()), from_python(a11, Type())); return detail::none(); } }; } #endif