cython

Форк
0
/
cpp_enums.pyx 
58 строк · 810.0 Байт
1
# tag: cpp
2
# mode: run, no-cpp-locals
3

4
cdef extern from *:
5
    """
6
    enum Enum1 {
7
        Item1,
8
        Item2
9
    };
10

11
    """
12
    cdef enum Enum1:
13
        Item1
14
        Item2
15

16
a = Item1
17
b = Item2
18

19
cdef Enum1 x, y
20
x = Item1
21
y = Item2
22

23

24
def compare_enums():
25
    """
26
    >>> compare_enums()
27
    (True, True, True, True)
28
    """
29
    return x == a, a == Item1, b == y, y == Item2
30

31

32
cdef extern from * namespace "Namespace1":
33
    """
34
    namespace Namespace1 {
35
        enum Enum2 {
36
            Item3,
37
            Item4
38
        };
39
    }
40
    """
41
    cdef enum Enum2:
42
        Item3
43
        Item4
44

45
c = Item3
46
d = Item4
47

48
cdef Enum2 z, w
49
z = Item3
50
w = Item4
51

52

53
def compare_namespace_enums():
54
    """
55
    >>> compare_namespace_enums()
56
    (True, True, True, True)
57
    """
58
    return z == c, c == Item3, d == w, d == Item4
59

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.