STD::移动包装器
cymove的Python项目详细描述
cymove
CyScript是一个头(PXD)仅围绕C++ 11 ^ { CD1>}函数的包装器。它 允许使用cython代码中的移动语义。
安装
pip install cymove
示例用法
示例.pyx:
# distutils: language = c++fromlibcpp.memorycimportmake_shared,shared_ptr,nullptrfromcymovecimportcymoveasmovecdefshared_ptr[int] ptr1,ptr2cdefint* raw_ptrptr1=make_shared[int](5)raw_ptr=ptr1.get()ptr2=move(ptr1)assertptr2.get()==raw_ptrassertptr1==nullptrprint("OK!")
编译并运行:
$ cythonize -3 -i example.pyx $ python3 -c "import example"OK!