X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fscm-hash.hh;h=3453904f7152cf3c8cfe60b652fca9892803637a;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=1182c503f9af5791e1fddf3301b049e5c09be680;hpb=e24fb7cc5671aea95211d4a0c56f28fb6fe8720e;p=lilypond.git diff --git a/lily/include/scm-hash.hh b/lily/include/scm-hash.hh index 1182c503f9..3453904f71 100644 --- a/lily/include/scm-hash.hh +++ b/lily/include/scm-hash.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,7 @@ #ifndef SCM_HASH_HH #define SCM_HASH_HH -#include "smobs.hh" +#include "small-smobs.hh" /* hash table. @@ -43,24 +43,21 @@ scm_gc_unprotect_object (tab->self_scm_); */ -class Scheme_hash_table +class Scheme_hash_table : public Smob1 { public: + int print_smob (SCM, scm_print_state *) const; bool try_retrieve (SCM key, SCM *val); bool contains (SCM key) const; 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; + static SCM make_smob (); private: - SCM hash_tab_; - void copy (Scheme_hash_table const &src); - DECLARE_SMOBS (Scheme_hash_table); + SCM &hash_tab () const { return scm1 (); } }; #endif /* SCM_HASH_HH */ -