/cln-1.3.2/src/integer/hash/cl_I_hash_rcpointer.h

# · C Header · 35 lines · 20 code · 9 blank · 6 comment · 0 complexity · 8117a4ad3a1c02a31eeba21327df2e68 MD5 · raw file

  1. // cl_I hash tables
  2. #ifndef _CL_I_HASH_RCPOINTER_H
  3. #define _CL_I_HASH_RCPOINTER_H
  4. #include "cln/number.h"
  5. #include "cln/integer.h"
  6. #include "base/hash/cl_hash1.h"
  7. namespace cln {
  8. typedef cl_htentry1<cl_I,cl_rcpointer> cl_htentry_from_integer_to_rcpointer;
  9. typedef cl_heap_hashtable_1<cl_I,cl_rcpointer> cl_heap_hashtable_from_integer_to_rcpointer;
  10. typedef _cl_hashtable_iterator<cl_htentry_from_integer_to_rcpointer> cl_hashtable_from_integer_to_rcpointer_iterator;
  11. struct cl_ht_from_integer_to_rcpointer : public cl_gcpointer {
  12. // Constructors.
  13. cl_ht_from_integer_to_rcpointer ();
  14. cl_ht_from_integer_to_rcpointer (const cl_ht_from_integer_to_rcpointer&);
  15. // Assignment operators.
  16. cl_ht_from_integer_to_rcpointer& operator= (const cl_ht_from_integer_to_rcpointer&);
  17. // Iterator.
  18. cl_hashtable_from_integer_to_rcpointer_iterator iterator () const
  19. { return ((cl_heap_hashtable_from_integer_to_rcpointer*)pointer)->iterator(); }
  20. // Lookup.
  21. cl_rcpointer * get (const cl_I& x) const;
  22. // Store.
  23. void put (const cl_I& x, const cl_rcpointer& y) const;
  24. };
  25. } // namespace cln
  26. #endif /* _CL_I_HASH_RCPOINTER_H */