2 scm-hash.hh -- declare Scheme hasher.
4 source file of the GNU LilyPond music typesetter
6 (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
16 #include "lily-guile.hh"
17 #include "hash-table.hh"
24 bool operator () (SCM s1, SCM s2) const
26 return long(s1) < long (s2);
30 typedef map<SCM,SCM, SCM_less> Scm_stl_map;
33 auto resizing hash table. This should come from GUILE.
35 class Scheme_hash_table : private Scm_stl_map
39 // bool elem_b (SCM k) const;
40 Hash_table<SCM,SCM>::try_retrieve;
41 Hash_table<SCM,SCM>::elem_b;
43 bool try_retrieve (SCM key, SCM *val);
44 bool elem_b (SCM key) const;
49 WARNING: putting something in assumes responsibility for cleaning
51 void set (SCM k, SCM v);
52 SCM get (SCM k) const;
55 void operator = (Scheme_hash_table const &);
56 Scheme_hash_table (Scheme_hash_table const &);
57 virtual ~Scheme_hash_table ();
59 SCM to_alist () const;
62 #endif /* SCM_HASH_HH */