aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/map.pxd
blob: 5c9fc32804e4dd9d66287d882fee97bde6aae55f (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
from libcpp.pair cimport pair

cdef extern from "util/generic/map.h" nogil:
    cdef cppclass TMap[T, U]:
        cppclass iterator:
            pair[T, U]& operator*()
            iterator operator++()
            iterator operator--()
            bint operator==(iterator)
            bint operator!=(iterator)

        cppclass const_iterator(iterator):
            pass

        TMap() except +
        TMap(TMap&) except +
        U& operator[](T&)
        TMap& operator=(TMap&)

        bint operator==(TMap&)
        bint operator!=(TMap&)
        bint operator<(TMap&)
        bint operator>(TMap&)
        bint operator<=(TMap&)
        bint operator>=(TMap&)

        U& at(T&) except +
        iterator begin()
        const_iterator const_begin "begin"()
        void clear()
        size_t count(T&)
        bint empty()
        iterator end()
        const_iterator const_end "end"()
        pair[iterator, iterator] equal_range(T&)
        void erase(iterator) except +
        void erase(iterator, iterator) except +
        size_t erase(T&)
        iterator find(T&)
        bint contains(T&)
        const_iterator const_find "find"(T&)
        pair[iterator, bint] insert(pair[T, U]) # XXX pair[T,U]&
        iterator insert(iterator, pair[T, U]) # XXX pair[T,U]&
        size_t max_size()
        size_t size()
        void swap(TMap&)