带有重载的SWIG的Wrapp C ++库,称为函数

时间:2016-12-07 12:53:58

标签: python c++ swig

我为以下函数编译了SWIG python包装器:

mylib.h:

#pragma once

#include <string>

myEnum {foo=0, bar};
myEnum getResult(const std::string& path, std::string& result);

界面:

%module mylib
%include <std_string.i>

%{
    #include "mylib.h"

%}
%apply const std::string & {std::string &};
%apply std::string & {std::string &};

int getResult(const std::string& path, std::string& result);

但是我的函数getResult有问题。因为在Python中字符串是不可变的。所以我有兴趣可以在接口文件中重载我的函数吗? 例如:

%module mylib
%include <std_string.i>

%{
    #include "mylib.h"

%}
%apply const std::string & {std::string &};
%apply std::string & {std::string &};

std::string getResult(std::string& path)
{ 
   std::string result;
   getResult(path, result);
   return result;
}

0 个答案:

没有答案