1cdef extern from "<list>" namespace "std" nogil: 2 cdef cppclass list[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 iterator() 14 iterator(iterator &) 15 T& operator*() 16 iterator operator++() 17 iterator operator--() 18 bint operator==(iterator) 19 bint operator!=(iterator) 20 cppclass reverse_iterator: 21 reverse_iterator() 22 reverse_iterator(iterator &) 23 T& operator*() 24 reverse_iterator operator++() 25 reverse_iterator operator--() 26 bint operator==(reverse_iterator) 27 bint operator!=(reverse_iterator) 28 cppclass const_iterator(iterator): 29 pass 30 cppclass const_reverse_iterator(reverse_iterator): 31 pass 32 list() except + 33 list(list&) except + 34 list(size_t, T&) except + 35 #list operator=(list&) 36 bint operator==(list&, list&) 37 bint operator!=(list&, list&) 38 bint operator<(list&, list&) 39 bint operator>(list&, list&) 40 bint operator<=(list&, list&) 41 bint operator>=(list&, list&) 42 void assign(size_t, T&) 43 T& back() 44 iterator begin() 45 const_iterator const_begin "begin"() 46 void clear() 47 bint empty() 48 iterator end() 49 const_iterator const_end "end"() 50 iterator erase(iterator) 51 iterator erase(iterator, iterator) 52 T& front() 53 iterator insert(iterator, T&) 54 void insert(iterator, size_t, T&) 55 size_t max_size() 56 void merge(list&) 57 #void merge(list&, BinPred) 58 void pop_back() 59 void pop_front() 60 void push_back(T&) 61 void push_front(T&) 62 reverse_iterator rbegin() 63 const_reverse_iterator const_rbegin "rbegin"() 64 void remove(T&) 65 #void remove_if(UnPred) 66 reverse_iterator rend() 67 const_reverse_iterator const_rend "rend"() 68 void resize(size_t, T&) 69 void reverse() 70 size_t size() 71 void sort() 72 #void sort(BinPred) 73 void splice(iterator, list&) 74 void splice(iterator, list&, iterator) 75 void splice(iterator, list&, iterator, iterator) 76 void swap(list&) 77 void unique() 78 #void unique(BinPred) 79