list.pxd 2.6 KB

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