blob: 2151c1ec7f284809c006c3be8c8375fff4847072 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
from libcpp cimport bool, nullptr_t, nullptr
cdef extern from "<memory>" namespace "std" nogil:
cdef cppclass default_delete[T]:
default_delete()
cdef cppclass allocator[T]:
allocator()
allocator(const allocator &)
#allocator(const allocator[U] &) #unique_ptr unit tests fail w/this
T * address(T &)
const T * address(const T &) const
T * allocate( size_t n ) # Not to standard. should be a second default argument
void deallocate(T * , size_t)
size_t max_size() const
void construct( T *, const T &) #C++98. The C++11 version is variadic AND perfect-forwarding
void destroy(T *) #C++98
void destroy[U](U *) #unique_ptr unit tests fail w/this
cdef cppclass unique_ptr[T,DELETER=*]:
unique_ptr()
unique_ptr(nullptr_t)
unique_ptr(T*)
unique_ptr(unique_ptr[T]&)
# Modifiers
T* release()
void reset()
void reset(nullptr_t)
void reset(T*)
void swap(unique_ptr&)
# Observers
T* get()
T& operator*()
#T* operator->() # Not Supported
bool operator bool()
bool operator!()
bool operator==(const unique_ptr&)
bool operator!=(const unique_ptr&)
bool operator<(const unique_ptr&)
bool operator>(const unique_ptr&)
bool operator<=(const unique_ptr&)
bool operator>=(const unique_ptr&)
bool operator==(nullptr_t)
bool operator!=(nullptr_t)
# Forward Declaration not working ("Compiler crash in AnalyseDeclarationsTransform")
#cdef cppclass weak_ptr[T]
cdef cppclass shared_ptr[T]:
shared_ptr()
shared_ptr(nullptr_t)
shared_ptr(T*)
shared_ptr(shared_ptr[T]&)
shared_ptr(shared_ptr[T]&, T*)
shared_ptr(unique_ptr[T]&)
#shared_ptr(weak_ptr[T]&) # Not Supported
# Modifiers
void reset()
void reset(T*)
void swap(shared_ptr&)
# Observers
T* get()
T& operator*()
#T* operator->() # Not Supported
long use_count()
bool unique()
bool operator bool()
bool operator!()
#bool owner_before[Y](const weak_ptr[Y]&) # Not Supported
bool owner_before[Y](const shared_ptr[Y]&)
bool operator==(const shared_ptr&)
bool operator!=(const shared_ptr&)
bool operator<(const shared_ptr&)
bool operator>(const shared_ptr&)
bool operator<=(const shared_ptr&)
bool operator>=(const shared_ptr&)
bool operator==(nullptr_t)
bool operator!=(nullptr_t)
cdef cppclass weak_ptr[T]:
weak_ptr()
weak_ptr(weak_ptr[T]&)
weak_ptr(shared_ptr[T]&)
# Modifiers
void reset()
void swap(weak_ptr&)
# Observers
long use_count()
bool expired()
shared_ptr[T] lock()
bool owner_before[Y](const weak_ptr[Y]&)
bool owner_before[Y](const shared_ptr[Y]&)
# Smart pointer non-member operations
shared_ptr[T] make_shared[T](...) except +
# Temporaries used for exception handling break generated code
unique_ptr[T] make_unique[T](...) # except +
# No checking on the compatibility of T and U.
cdef shared_ptr[T] static_pointer_cast[T, U](const shared_ptr[U]&)
cdef shared_ptr[T] dynamic_pointer_cast[T, U](const shared_ptr[U]&)
cdef shared_ptr[T] const_pointer_cast[T, U](const shared_ptr[U]&)
cdef shared_ptr[T] reinterpret_pointer_cast[T, U](const shared_ptr[U]&)
|