cython
1# tag: cpp
2# mode: run, no-cpp-locals
3
4cdef extern from *:
5"""
6enum Enum1 {
7Item1,
8Item2
9};
10
11"""
12cdef enum Enum1:
13Item1
14Item2
15
16a = Item1
17b = Item2
18
19cdef Enum1 x, y
20x = Item1
21y = Item2
22
23
24def compare_enums():
25"""
26>>> compare_enums()
27(True, True, True, True)
28"""
29return x == a, a == Item1, b == y, y == Item2
30
31
32cdef extern from * namespace "Namespace1":
33"""
34namespace Namespace1 {
35enum Enum2 {
36Item3,
37Item4
38};
39}
40"""
41cdef enum Enum2:
42Item3
43Item4
44
45c = Item3
46d = Item4
47
48cdef Enum2 z, w
49z = Item3
50w = Item4
51
52
53def compare_namespace_enums():
54"""
55>>> compare_namespace_enums()
56(True, True, True, True)
57"""
58return z == c, c == Item3, d == w, d == Item4
59