cdef extern from "util/generic/list.h": cdef cppclass TList[T]: TList() except + TList(TList&) except + TList(size_t, T&) except + cppclass iterator: iterator() iterator(iterator &) T& operator*() iterator operator++() iterator operator--() bint operator==(iterator) bint operator!=(iterator) cppclass reverse_iterator: reverse_iterator() reverse_iterator(iterator &) T& operator*() reverse_iterator operator++() reverse_iterator operator--() bint operator==(reverse_iterator) bint operator!=(reverse_iterator) cppclass const_iterator(iterator): pass cppclass const_reverse_iterator(reverse_iterator): pass bint operator==(TList&, TList&) bint operator!=(TList&, TList&) bint operator<(TList&, TList&) bint operator>(TList&, TList&) bint operator<=(TList&, TList&) bint operator>=(TList&, TList&) void assign(size_t, T&) T& back() iterator begin() const_iterator const_begin "begin"() void clear() bint empty() iterator end() const_iterator const_end "end"() iterator erase(iterator) iterator erase(iterator, iterator) T& front() iterator insert(iterator, T&) void insert(iterator, size_t, T&) size_t max_size() void merge(TList&) void pop_back() void pop_front() void push_back(T&) void push_front(T&) reverse_iterator rbegin() const_reverse_iterator const_rbegin "rbegin"() void remove(T&) reverse_iterator rend() const_reverse_iterator const_rend "rend"() void resize(size_t, T&) void reverse() size_t size() void sort() void swap(TList&) void splice(iterator, TList&) void splice(iterator, TList&, iterator) void splice(iterator, TList&, iterator, iterator) void unique()