X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fscm-hash.hh;h=3453904f7152cf3c8cfe60b652fca9892803637a;hb=67cd07e55d5ec908c246ae543e480d367b61d6b3;hp=9d1bcf8ca74effb26bb120475d3554b0ad4d380b;hpb=28558088e9af7cf017835c03838755499c654d07;p=lilypond.git diff --git a/lily/include/scm-hash.hh b/lily/include/scm-hash.hh index 9d1bcf8ca7..3453904f71 100644 --- a/lily/include/scm-hash.hh +++ b/lily/include/scm-hash.hh @@ -1,15 +1,26 @@ /* - scm-hash.hh -- declare Scheme hasher. + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1999--2015 Han-Wen Nienhuys - (c) 1999--2007 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef SCM_HASH_HH #define SCM_HASH_HH -#include "smobs.hh" +#include "small-smobs.hh" /* hash table. @@ -32,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 */ -