4
from cython.operator cimport dereference as deref
6
cdef extern from "cpp_templates_helper.h":
11
bint operator==(Wrap[T])
13
cdef cppclass Pair[T1,T2]:
17
bint operator==(Pair[T1,T2])
18
bint operator!=(Pair[T1,T2])
20
def test_wrap_pair(int i, double x):
22
>>> test_wrap_pair(1, 1.5)
24
>>> test_wrap_pair(2, 2.25)
28
wrap = new Wrap[Pair[int, double]](Pair[int, double](i, x))
29
return wrap.get().first(), wrap.get().second(), deref(wrap) == deref(wrap)
33
def test_wrap_pair_pair(int i, int j, double x):
35
>>> test_wrap_pair_pair(1, 3, 1.5)
37
>>> test_wrap_pair_pair(2, 5, 2.25)
41
wrap = new Wrap[Pair[int, Pair[int, double]]](
42
Pair[int, Pair[int, double]](i,Pair[int, double](j, x)))
43
return (wrap.get().first(),
44
wrap.get().second().first(),
45
wrap.get().second().second(),
46
deref(wrap) == deref(wrap))