3 #ifndef _CL_I_HASHWEAK_RCPOINTER_H
4 #define _CL_I_HASHWEAK_RCPOINTER_H
6 #include "cln/number.h"
7 #include "cln/integer.h"
8 #include "base/hash/cl_hash1weak.h"
12 typedef cl_htentry1<cl_I,cl_rcpointer> cl_htentry_from_integer_to_rcpointer;
14 typedef cl_heap_weak_hashtable_1<cl_I,cl_rcpointer> cl_heap_weak_hashtable_from_integer_to_rcpointer;
16 typedef _cl_hashtable_iterator<cl_htentry_from_integer_to_rcpointer> cl_hashtable_from_integer_to_rcpointer_iterator;
18 struct cl_wht_from_integer_to_rcpointer : public cl_gcpointer {
20 cl_wht_from_integer_to_rcpointer (bool (*maygc_htentry) (const cl_htentry_from_integer_to_rcpointer&));
21 cl_wht_from_integer_to_rcpointer (const cl_wht_from_integer_to_rcpointer&);
22 // Assignment operators.
23 cl_wht_from_integer_to_rcpointer& operator= (const cl_wht_from_integer_to_rcpointer&);
25 cl_hashtable_from_integer_to_rcpointer_iterator iterator () const
26 { return ((cl_heap_weak_hashtable_from_integer_to_rcpointer*)pointer)->iterator(); }
28 cl_rcpointer * get (const cl_I& x) const;
30 void put (const cl_I& x, const cl_rcpointer& y) const;
35 #endif /* _CL_I_HASHWEAK_RCPOINTER_H */