1cdef extern from "<vector>" namespace "std" nogil: 2 cdef cppclass vector[T,ALLOCATOR=*]: 3 ctypedef T value_type 4 ctypedef ALLOCATOR allocator_type 5 6 # these should really be allocator_type.size_type and 7 # allocator_type.difference_type to be true to the C++ definition 8 # but cython doesn't support deferred access on template arguments 9 ctypedef size_t size_type 10 ctypedef ptrdiff_t difference_type 11 12 cppclass iterator: 13 T& operator*() 14 iterator operator++() 15 iterator operator--() 16 iterator operator+(size_type) 17 iterator operator-(size_type) 18 difference_type operator-(iterator) 19 bint operator==(iterator) 20 bint operator!=(iterator) 21 bint operator<(iterator) 22 bint operator>(iterator) 23 bint operator<=(iterator) 24 bint operator>=(iterator) 25 cppclass reverse_iterator: 26 T& operator*() 27 reverse_iterator operator++() 28 reverse_iterator operator--() 29 reverse_iterator operator+(size_type) 30 reverse_iterator operator-(size_type) 31 difference_type operator-(reverse_iterator) 32 bint operator==(reverse_iterator) 33 bint operator!=(reverse_iterator) 34 bint operator<(reverse_iterator) 35 bint operator>(reverse_iterator) 36 bint operator<=(reverse_iterator) 37 bint operator>=(reverse_iterator) 38 cppclass const_iterator(iterator): 39 pass 40 cppclass const_reverse_iterator(reverse_iterator): 41 pass 42 vector() except + 43 vector(vector&) except + 44 vector(size_type) except + 45 vector(size_type, T&) except + 46 #vector[input_iterator](input_iterator, input_iterator) 47 T& operator[](size_type) 48 #vector& operator=(vector&) 49 bint operator==(vector&, vector&) 50 bint operator!=(vector&, vector&) 51 bint operator<(vector&, vector&) 52 bint operator>(vector&, vector&) 53 bint operator<=(vector&, vector&) 54 bint operator>=(vector&, vector&) 55 void assign(size_type, const T&) 56 void assign[input_iterator](input_iterator, input_iterator) except + 57 T& at(size_type) except + 58 T& back() 59 iterator begin() 60 const_iterator const_begin "begin"() 61 size_type capacity() 62 void clear() 63 bint empty() 64 iterator end() 65 const_iterator const_end "end"() 66 iterator erase(iterator) 67 iterator erase(iterator, iterator) 68 T& front() 69 iterator insert(iterator, const T&) except + 70 iterator insert(iterator, size_type, const T&) except + 71 iterator insert[Iter](iterator, Iter, Iter) except + 72 size_type max_size() 73 void pop_back() 74 void push_back(T&) except + 75 reverse_iterator rbegin() 76 const_reverse_iterator const_rbegin "crbegin"() 77 reverse_iterator rend() 78 const_reverse_iterator const_rend "crend"() 79 void reserve(size_type) 80 void resize(size_type) except + 81 void resize(size_type, T&) except + 82 size_type size() 83 void swap(vector&) 84 85 # C++11 methods 86 T* data() 87 const T* const_data "data"() 88 void shrink_to_fit() 89