我有一个返回其参数的多个值的C++函数。
有没有更好、更自动化的方式使用Boost.Python来完成这个任务?
void Do_Something( double input1, double input2, double input3,
double& output1, double& output2 )
{
...
output1 = something;
output2 = something;
}
我希望使用Boost.Python来包装这个函数。我已经想出了一个使用lambda的解决方案,但是因为我有很多函数在其参数中具有多个返回值,所以这种方法有点繁琐。
BOOST_PYTHON_MODULE( mymodule )
{
using boost::python;
def( "Do_Something", +[]( double input1, double input2, double input3 )
{
double output1;
double output2;
Do_Something( input1, input2, input3, output1, output2 );
return make_tuple( output1, output2 );
});
}
有没有更好、更自动化的方式使用Boost.Python来完成这个任务?