std::move wrapper for cython
Project description
cymove
cymove is a header (pxd) only wrapper around C++11 std::move
function. It
allows using move semantics from cython code.
Installation
pip install cymove
Example Usage
example.pyx:
# distutils: language = c++
from libcpp.memory cimport make_shared, shared_ptr, nullptr
from cymove cimport cymove as move
cdef shared_ptr[int] ptr1, ptr2
cdef int* raw_ptr
ptr1 = make_shared[int](5)
raw_ptr = ptr1.get()
ptr2 = move(ptr1)
assert ptr2.get() == raw_ptr
assert ptr1 == nullptr
print("OK!")
Compile & run:
$ cythonize -3 -i example.pyx
$ python3 -c "import example"
OK!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cymove-1.0.1.tar.gz
(1.9 kB
view hashes)