hash.pxd 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from libcpp.pair cimport pair
  2. cdef extern from "util/generic/hash.h" nogil:
  3. cdef cppclass THashMap[T, U]:
  4. cppclass iterator:
  5. pair[T, U]& operator*()
  6. iterator operator++()
  7. bint operator==(iterator)
  8. bint operator!=(iterator)
  9. cppclass const_iterator(iterator):
  10. pass
  11. cppclass reverse_iterator:
  12. pair[T, U]& operator*()
  13. iterator operator++()
  14. bint operator==(reverse_iterator)
  15. bint operator!=(reverse_iterator)
  16. cppclass const_reverse_iterator(reverse_iterator):
  17. pass
  18. THashMap() except +
  19. THashMap(THashMap&) except +
  20. U& operator[](T&)
  21. THashMap& operator=(THashMap&)
  22. bint operator==(THashMap&)
  23. bint operator!=(THashMap&)
  24. U& at(T&) except +
  25. iterator begin()
  26. const_iterator const_begin "begin"()
  27. void clear()
  28. size_t count(T&)
  29. bint empty()
  30. iterator end()
  31. const_iterator const_end "end"()
  32. pair[iterator, iterator] equal_range(T&)
  33. void erase(iterator) except +
  34. void erase(iterator, iterator) except +
  35. size_t erase(T&)
  36. iterator find(T&)
  37. bint contains(T&)
  38. const_iterator const_find "find"(T&)
  39. pair[iterator, bint] insert(pair[T, U]) # XXX pair[T,U]&
  40. iterator insert(iterator, pair[T, U]) # XXX pair[T,U]&
  41. size_t max_size()
  42. size_t size()
  43. void swap(THashMap&)
  44. reverse_iterator rbegin()
  45. const_reverse_iterator const_rbegin "rbegin"()
  46. reverse_iterator rend()
  47. const_reverse_iterator const_rend "rend"()