X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fscm-hash.hh;h=6ced1f5e216e389a39f0cfed47939a8b342f00ac;hb=ac01634a7d17566469ad54af5f3d59d5967392a9;hp=a8234945059da313e0227bcc06da665aba5045b6;hpb=f79e161e5f81421337a4f459eb8f8a6978abf9fb;p=lilypond.git diff --git a/lily/include/scm-hash.hh b/lily/include/scm-hash.hh index a823494505..6ced1f5e21 100644 --- a/lily/include/scm-hash.hh +++ b/lily/include/scm-hash.hh @@ -1,44 +1,39 @@ -/* +/* scm-hash.hh -- declare Scheme hasher. - + source file of the GNU LilyPond music typesetter - - (c) 1999--2004 Han-Wen Nienhuys - - */ + + (c) 1999--2007 Han-Wen Nienhuys +*/ #ifndef SCM_HASH_HH #define SCM_HASH_HH - -#include "lily-guile.hh" #include "smobs.hh" - /** - auto resizing hash table. + auto resizing hash table. 1. ALWAYS USE THIS AS VIA A POINTER, i.e. class Foo { - Scheme_hash_table * tab; + Scheme_hash_table * tab; }; and NOT class Foo { - Scheme_hash_table tab; + Scheme_hash_table tab; } 2. UPON DESTRUCTION, DO scm_gc_unprotect_object (tab->self_scm_); - - */ +*/ class Scheme_hash_table -{ +{ public: bool try_retrieve (SCM key, SCM *val); bool contains (SCM key) const; @@ -47,10 +42,10 @@ public: WARNING: putting something in assumes responsibility for cleaning up. */ void set (SCM k, SCM v); - SCM get (SCM k) const; + SCM get (SCM k) const; void remove (SCM k); Scheme_hash_table (); - void operator = (Scheme_hash_table const &); + void operator = (Scheme_hash_table const &); Scheme_hash_table (Scheme_hash_table const &); SCM to_alist () const; @@ -58,10 +53,9 @@ public: private: SCM hash_tab_; unsigned elt_count_; - - DECLARE_SMOBS (Scheme_hash_table, foo); -}; + DECLARE_SMOBS (Scheme_hash_table); +}; #endif /* SCM_HASH_HH */