使用SWIG包装关键字名称的C ++模板方法

我使用SWIG封装了一些C ++代码来生成Python代码。 C ++类具有as定义的模板方法:

class Array {
public:
    template <typename T> std::vector<T> as<T>();
...
}

在我的SWIG接口文件中,我已经包装了这个功能:

%template(fdata) Array::as<float>();
%template(idata) Array::as<int>();
...

这在SWIG 3.0.0中工作正常,但是当我尝试在3.0.12等更新的版本中编译时,我收到了一堆警告:

Warning 314: 'as' is a python keyword, renaming to '_as'
Warning 503: Can't wrap '_as< float >' unless renamed to a valid identifier.

并且不会生成fdataidata等方法。

我不知道,因为这有什么不好as方法仅限于C ++代码,我从来没有产生as在Python端方法。

任何帮助表示赞赏。

链接地址: http://www.djcxy.com/p/48341.html

上一篇: Wrapping C++ template method with keyword name using SWIG

下一篇: Writing/reading protocol buffers