【问题标题】:SWIG - Mapping C++ shift right and shift left operatorsSWIG - 映射 C++ 右移和左移运算符
【发布时间】:2015-02-11 12:49:10
【问题描述】:

我有一个 C++ DLL,我正在尝试为其构建一个 SWIG 接口文件。 C++ DLL 有一些使用>> 和<< 运算符的重载函数。我已经看到将 %rename 函数用于加法等基本运算符的示例,例如:

%rename (____add__) *::operator +;

我想知道>> 和<< 是否有类似的函数名称,或者这些运算符是否无法移植到Python。我现在正在使用

%ignore ::operator >>;

和

%ignore ::operator <<;

摆脱 SWIG 警告,但如果可能的话,我希望能够移植这些运算符。

【问题讨论】:

    标签: python c++ swig


    【解决方案1】:

    听起来你想这样做:

    %rename(__lshift__) operator<<;
    

    和 rshift 对应的右移运算符,来自 Python 数字协议。

    (请注意,如果将 -builtin 与 SWIG 一起使用,则需要使用 tp_slots 而不是 %rename)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      相关资源
      最近更新 更多