PageRenderTime 40ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
C Header | 35 lines | 20 code | 9 blank | 6 comment | 0 complexity | 0e72779ac1353daff5d617fd03e4290a MD5 | raw file
Possible License(s): GPL-2.0
  1. // cl_I hash tables
  2. #ifndef _CL_I_HASH_GCPOINTER_H
  3. #define _CL_I_HASH_GCPOINTER_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_gcpointer> cl_htentry_from_integer_to_gcpointer;
  9. typedef cl_heap_hashtable_1<cl_I,cl_gcpointer> cl_heap_hashtable_from_integer_to_gcpointer;
  10. typedef _cl_hashtable_iterator<cl_htentry_from_integer_to_gcpointer> cl_hashtable_from_integer_to_gcpointer_iterator;
  11. struct cl_ht_from_integer_to_gcpointer : public cl_gcpointer {
  12. // Constructors.
  13. cl_ht_from_integer_to_gcpointer ();
  14. cl_ht_from_integer_to_gcpointer (const cl_ht_from_integer_to_gcpointer&);
  15. // Assignment operators.
  16. cl_ht_from_integer_to_gcpointer& operator= (const cl_ht_from_integer_to_gcpointer&);
  17. // Iterator.
  18. cl_hashtable_from_integer_to_gcpointer_iterator iterator () const
  19. { return ((cl_heap_hashtable_from_integer_to_gcpointer*)pointer)->iterator(); }
  20. // Lookup.
  21. cl_gcpointer * get (const cl_I& x) const;
  22. // Store.
  23. void put (const cl_I& x, const cl_gcpointer& y) const;
  24. };
  25. } // namespace cln
  26. #endif /* _CL_I_HASH_GCPOINTER_H */