2015-02-11 70 views
1

我有一个C++ DLL,我正在尝试构建SWIG接口文件。 C++ DLL有一些重载函数,它们使用>><<运算符。我见过使用%重命名功能像除了基本的运营商的例子,例如:SWIG - 映射C++右移和左移运算符

%rename (____add__) *::operator +; 

如果对于>><<类似功能的名字,我想知道,或者如果这些运营商不能移植到Python。现在,我使用

%ignore ::operator >>; 

%ignore ::operator <<; 

摆脱痛饮警告,但我希望能够端口这些运营商如果可能的话。

回答

1

这听起来像你想做的事:

%rename(__lshift__) operator<<; 

和RSHIFT为相应的右移位运算符,从Python数量的协议。

(请注意,如果您在SWIG中使用-builtin,则需要使用tp_slots而不是%rename)。