我有一个类似这样的 C++ 类:
namespace ns {
template<class T>
class Wrapper {
public:
bool operator==(const Wrapper<T>& rhs) const;
// Other methods
private:
T mData;
};
}
我想用 SWIG/Python 包装它,但我不想包含相等运算符。我尝试了各种方法:
%ignore ns::Wrapper::operator==;
%ignore ns::Wrapper::operator==(const ns::Wrapper&) const;
我还了解了 T 可能代表的类(假设现在是数据类):
%ignore ns::Wrapper<Data>::operator(const ns::Wrapper<Data>&) const;
%template(WrappedData) ns::Wrapper<Data>;
%ignore WrappedData::operator==(const WrappedData&) const;
最佳答案
您可以使用以下选项之一 %ignore
指令,必须在 Wrapper
的声明之前出现类(例如,在相应的 %include
指令之前):
-
%ignore ns::Wrapper::operator==;
-
%ignore ns::Wrapper<Data>::operator==;
关于c++ - SWIG——如何忽略模板化 C++ 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35895113/