aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/libcpp/vector.pxd
blob: 1ec22706b25d88cb5e07af97a873b9938a75744f (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
cdef extern from "<vector>" namespace "std" nogil: 
    cdef cppclass vector[T,ALLOCATOR=*]:
        ctypedef T value_type
        ctypedef ALLOCATOR allocator_type

        # these should really be allocator_type.size_type and
        # allocator_type.difference_type to be true to the C++ definition
        # but cython doesn't support deferred access on template arguments
        ctypedef size_t size_type
        ctypedef ptrdiff_t difference_type

        cppclass iterator: 
            T& operator*() 
            iterator operator++() 
            iterator operator--() 
            iterator operator+(size_type)
            iterator operator-(size_type)
            difference_type operator-(iterator)
            bint operator==(iterator) 
            bint operator!=(iterator) 
            bint operator<(iterator) 
            bint operator>(iterator) 
            bint operator<=(iterator) 
            bint operator>=(iterator) 
        cppclass reverse_iterator: 
            T& operator*() 
            reverse_iterator operator++()
            reverse_iterator operator--()
            reverse_iterator operator+(size_type)
            reverse_iterator operator-(size_type)
            difference_type operator-(reverse_iterator)
            bint operator==(reverse_iterator) 
            bint operator!=(reverse_iterator) 
            bint operator<(reverse_iterator) 
            bint operator>(reverse_iterator) 
            bint operator<=(reverse_iterator) 
            bint operator>=(reverse_iterator) 
        cppclass const_iterator(iterator):
            pass
        cppclass const_reverse_iterator(reverse_iterator):
            pass
        vector() except + 
        vector(vector&) except + 
        vector(size_type) except +
        vector(size_type, T&) except +
        #vector[input_iterator](input_iterator, input_iterator) 
        T& operator[](size_type)
        #vector& operator=(vector&) 
        bint operator==(vector&, vector&) 
        bint operator!=(vector&, vector&) 
        bint operator<(vector&, vector&) 
        bint operator>(vector&, vector&) 
        bint operator<=(vector&, vector&) 
        bint operator>=(vector&, vector&) 
        void assign(size_type, const T&)
        void assign[input_iterator](input_iterator, input_iterator) except +
        T& at(size_type) except +
        T& back() 
        iterator begin() 
        const_iterator const_begin "begin"()
        size_type capacity()
        void clear() 
        bint empty() 
        iterator end() 
        const_iterator const_end "end"()
        iterator erase(iterator) 
        iterator erase(iterator, iterator) 
        T& front() 
        iterator insert(iterator, const T&) except +
        iterator insert(iterator, size_type, const T&) except +
        iterator insert[Iter](iterator, Iter, Iter) except +
        size_type max_size()
        void pop_back() 
        void push_back(T&) except +
        reverse_iterator rbegin() 
        const_reverse_iterator const_rbegin "crbegin"()
        reverse_iterator rend() 
        const_reverse_iterator const_rend "crend"()
        void reserve(size_type)
        void resize(size_type) except +
        void resize(size_type, T&) except +
        size_type size()
        void swap(vector&) 

        # C++11 methods
        T* data() 
        const T* const_data "data"()
        void shrink_to_fit()