summaryrefslogtreecommitdiff
path: root/docs/examples/userguide/extension_types/owned_pointer.pyx
blob: 98b61d91c6c2f39456d20279b3a848155f93584d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
from libc.stdlib cimport free


cdef class OwnedPointer:
    cdef void* ptr

    def __dealloc__(self):
        if self.ptr is not NULL:
            free(self.ptr)


    @staticmethod
    cdef create(void* ptr):
        p = OwnedPointer()
        p.ptr = ptr
        return p