@@ -1320,6 +1320,84 @@ PythonExtensionBase::~PythonExtensionBase()
13201320 assert ( ob_refcnt == 0 );
13211321}
13221322
1323+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name )
1324+ {
1325+ Py::TupleN args;
1326+ return self ().callMemberFunction ( fn_name, args );
1327+ }
1328+
1329+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1330+ const Py::Object &arg1 )
1331+ {
1332+ Py::TupleN args ( arg1 );
1333+ return self ().callMemberFunction ( fn_name, args );
1334+ }
1335+
1336+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1337+ const Py::Object &arg1, const Py::Object &arg2 )
1338+ {
1339+ Py::TupleN args ( arg1, arg2 );
1340+ return self ().callMemberFunction ( fn_name, args );
1341+ }
1342+
1343+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1344+ const Py::Object &arg1, const Py::Object &arg2, const Py::Object &arg3 )
1345+ {
1346+ Py::TupleN args ( arg1, arg2, arg3 );
1347+ return self ().callMemberFunction ( fn_name, args );
1348+ }
1349+
1350+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1351+ const Py::Object &arg1, const Py::Object &arg2, const Py::Object &arg3,
1352+ const Py::Object &arg4 )
1353+ {
1354+ Py::TupleN args ( arg1, arg2, arg3, arg4 );
1355+ return self ().callMemberFunction ( fn_name, args );
1356+ }
1357+
1358+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1359+ const Py::Object &arg1, const Py::Object &arg2, const Py::Object &arg3,
1360+ const Py::Object &arg4, const Py::Object &arg5 )
1361+ {
1362+ Py::TupleN args ( arg1, arg2, arg3, arg4, arg5 );
1363+ return self ().callMemberFunction ( fn_name, args );
1364+ }
1365+
1366+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1367+ const Py::Object &arg1, const Py::Object &arg2, const Py::Object &arg3,
1368+ const Py::Object &arg4, const Py::Object &arg5, const Py::Object &arg6 )
1369+ {
1370+ Py::TupleN args ( arg1, arg2, arg3, arg4, arg5, arg6 );
1371+ return self ().callMemberFunction ( fn_name, args );
1372+ }
1373+
1374+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1375+ const Py::Object &arg1, const Py::Object &arg2, const Py::Object &arg3,
1376+ const Py::Object &arg4, const Py::Object &arg5, const Py::Object &arg6,
1377+ const Py::Object &arg7 )
1378+ {
1379+ Py::TupleN args ( arg1, arg2, arg3, arg4, arg5, arg6, arg7 );
1380+ return self ().callMemberFunction ( fn_name, args );
1381+ }
1382+
1383+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1384+ const Py::Object &arg1, const Py::Object &arg2, const Py::Object &arg3,
1385+ const Py::Object &arg4, const Py::Object &arg5, const Py::Object &arg6,
1386+ const Py::Object &arg7, const Py::Object &arg8 )
1387+ {
1388+ Py::TupleN args ( arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 );
1389+ return self ().callMemberFunction ( fn_name, args );
1390+ }
1391+
1392+ Py::Object PythonExtensionBase::callOnSelf ( const std::string &fn_name,
1393+ const Py::Object &arg1, const Py::Object &arg2, const Py::Object &arg3,
1394+ const Py::Object &arg4, const Py::Object &arg5, const Py::Object &arg6,
1395+ const Py::Object &arg7, const Py::Object &arg8, const Py::Object &arg9 )
1396+ {
1397+ Py::TupleN args ( arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 );
1398+ return self ().callMemberFunction ( fn_name, args );
1399+ }
1400+
13231401void PythonExtensionBase::reinit ( Tuple &args, Dict &kwds )
13241402{
13251403 throw RuntimeError ( " Must not call __init__ twice on this class" );
@@ -1353,16 +1431,14 @@ int PythonExtensionBase::setattr( const char *, const Py::Object &)
13531431 return -1 ;
13541432}
13551433
1356- Py::Object PythonExtensionBase::getattro ( const Py::String &)
1434+ Py::Object PythonExtensionBase::getattro ( const Py::String &name )
13571435{
1358- missing_method ( getattro );
1359- return Py::None ();
1436+ return genericGetAttro ( name );
13601437}
13611438
1362- int PythonExtensionBase::setattro ( const Py::String &, const Py::Object &)
1439+ int PythonExtensionBase::setattro ( const Py::String &name , const Py::Object &value )
13631440{
1364- missing_method ( setattro );
1365- return -1 ;
1441+ return genericSetAttro ( name, value );
13661442}
13671443
13681444int PythonExtensionBase::compare ( const Py::Object &)
0 commit comments