2015-02-11 67 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)。