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