aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/hash.pxd
blob: 385c10d805f601f2a13008973996ab2578ccbcfc (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from libcpp.pair cimport pair

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

        cppclass const_iterator(iterator):
            pass

        cppclass reverse_iterator:
            pair[T, U]& operator*()
            iterator operator++()
            iterator operator--()
            bint operator==(reverse_iterator)
            bint operator!=(reverse_iterator)

        cppclass const_reverse_iterator(reverse_iterator):
            pass

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

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

        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(THashMap&)
        iterator lower_bound(T&)
        const_iterator const_lower_bound "lower_bound"(T&)
        reverse_iterator rbegin()
        const_reverse_iterator const_rbegin "rbegin"()
        reverse_iterator rend()
        const_reverse_iterator const_rend "rend"()
        iterator upper_bound(T&)
        const_iterator const_upper_bound "upper_bound"(T&)
        void max_load_factor(float)
        float max_load_factor()