python - SWIG - 映射 C++ 右移和左移运算符

标签 python c++ swig

我有一个 C++ DLL,我正在尝试为其构建一个 SWIG 接口(interface)文件。 C++ DLL 有一些使用 >> 的重载函数和 <<运营商。我见过使用 %rename 函数作为基本运算符(如加法)的示例,例如:

%rename (____add__) *::operator +;

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

%ignore ::operator >>;

%ignore ::operator <<;

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

最佳答案

这听起来像你想做的:

%rename(__lshift__) operator<<;

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

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

关于python - SWIG - 映射 C++ 右移和左移运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454820/

相关文章:

python - VPython 脚本的输出是什么?为什么我会在 Chrome 中打开它?

python - 带有 Plotly Dash 的日期 slider 不起作用

c++ - HTTP 代理检测 HTTP 客户端断开连接

java - 使用 SWIG 将字节数组转换为 C 结构体

c# - 将非托管 unicode 字符串编码到 .net。高字符替换为问号

python - Django 图像没有关联的文件,即使我有空白和 null

python - 尝试在 flask 应用网站上显示本地镜像

c++ - 潜在溢出比较排序和各种排序算法的比较

c++ - 基本模板继承成员,减少所需的输入

c - Swig + Lua : call m(int argv, char **argc)