aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/maybe.pxd
blob: 15161dd204402e3e4995079397fc8515a6212dee (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
cdef extern from "<util/generic/maybe.h>" nogil:
    cdef cppclass TNothing:
        pass

    cdef TNothing Nothing()

    cdef cppclass TMaybe[T]:
        TMaybe(...) except +

        TMaybe& operator=(...) except +

        void ConstructInPlace(...) except +
        void Clear() except +

        bint Defined()
        bint Empty()

        void CheckDefined() except +

        T* Get() except +
        T& GetRef() except +

        T GetOrElse(T&) except +
        TMaybe OrElse(TMaybe&) except +

        TMaybe[U] Cast[U]() except +

        void Swap(TMaybe& other) except +

        bint operator ==[U](U&) except +
        bint operator !=[U](U&) except +
        bint operator <[U](U&) except +
        bint operator >[U](U&) except +
        bint operator <=[U](U&) except +
        bint operator >=[U](U&) except +