Swig:在Python中使用c ++ STL复合体
Swig: using c++ STL complex in Python
我想在python中使用c ++复杂类型。我尝试了以下 Swig 界面文件:
%module example
%include <std_complex.i>
%template(complexf) std::complex<float>;
它返回了此错误:
example.i:3: Error: Template 'complex' undefined.
如果我手动包含 c++ 头文件,
%module example
%include <std_complex.i>
%include "/usr/include/c++/7/complex"
%template(complexf) std::complex<float>;
我会得到另一个错误:
/usr/include/c++/7/complex:50: Error: Syntax error in input(1).
所以我想知道如何正确使用 SWIG 的 c++ 复合体?
std_complex.i
已经包含了足够的定义来使用std::complex<float>
:
%module example
%include <std_complex.i>
%inline %{
using complexf = std::complex<float>;
complexf func(complexf a, complexf b)
{
return a + b;
}
%}
用法(使用 VS2015 编译(:
>>> import example
>>> example.func(1+2j,3-4j)
(4-2j)
相关文章:
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 为什么这个运算符<重载函数对 STL 算法不可见?
- 在C应用程序中运行C++(带有STL)函数
- 使用2个键的cpp-stl::优先级队列排序不正确
- 在STL容器中使用模板类
- 用C++中的CPerson(类)类型的对象初始化STL矢量
- 将stl字符串缩小到小于15个字符的容量
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 检查函数返回类型是否与STL容器类型值相同
- STL算法函数在多个一维容器上的使用
- 根据变量使Qt UI中的复选框为已选中/未选中
- 在STL - C++中按成绩对学生列表进行排序?
- 特征 c++:复矩阵的面积双曲正切(atanh)
- 为什么 STL 容器适配器堆栈中的 top 返回常量引用?
- λ可以适应STL吗?
- 为什么使用 NDK 不能存在不同的 stl 实现?
- Swig:在Python中使用c ++ STL复合体
- 为什么C++要求该复合体仅实例化为浮点数、双精度数或长双精度数
- 从二进制文件读取复数值到STL向量
- 计算中的精度c++复合体