X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Finclude%2Fscm-hash.hh;h=976429682bee33d1b0715d94ecf3901f1120f63a;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=cbaef193be908bd50e34c7059258e3e8430037f8;hpb=358d6e99ada8019268ade9ba9080b2d0d88eeb7a;p=lilypond.git diff --git a/lily/include/scm-hash.hh b/lily/include/scm-hash.hh index cbaef193be..976429682b 100644 --- a/lily/include/scm-hash.hh +++ b/lily/include/scm-hash.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1999--2006 Han-Wen Nienhuys + (c) 1999--2008 Han-Wen Nienhuys */ #ifndef SCM_HASH_HH @@ -11,25 +11,25 @@ #include "smobs.hh" -/** - auto resizing hash table. +/* + hash table. - 1. ALWAYS USE THIS AS VIA A POINTER, i.e. + 1. ALWAYS USE THIS AS VIA A POINTER, i.e. - class Foo { - Scheme_hash_table * tab; - }; + class Foo { + Scheme_hash_table * tab; + }; - and NOT + and NOT - class Foo { - Scheme_hash_table tab; - } + class Foo { + Scheme_hash_table tab; + } - 2. UPON DESTRUCTION, DO + 2. UPON DESTRUCTION, DO - scm_gc_unprotect_object (tab->self_scm_); + scm_gc_unprotect_object (tab->self_scm_); */ class Scheme_hash_table @@ -37,23 +37,17 @@ class Scheme_hash_table public: bool try_retrieve (SCM key, SCM *val); bool contains (SCM key) const; - - /** - WARNING: putting something in assumes responsibility for cleaning - up. */ void set (SCM k, SCM v); SCM get (SCM k) const; void remove (SCM k); Scheme_hash_table (); void operator = (Scheme_hash_table const &); Scheme_hash_table (Scheme_hash_table const &); - SCM to_alist () const; private: SCM hash_tab_; - unsigned elt_count_; - + void copy (Scheme_hash_table const &src); DECLARE_SMOBS (Scheme_hash_table); };