2 translator-group.hh -- declare Translator_group
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #ifndef TRANSLATOR_GROUP_HH
11 #define TRANSLATOR_GROUP_HH
13 #include "translator.hh"
16 typedef void (Translator::*Translator_method) (void);
18 class Translator_group : public virtual Translator
21 VIRTUAL_COPY_CONSTRUCTOR (Translator, Translator_group);
22 virtual Translator_group* get_daddy_translator ()const;
23 virtual SCM get_simple_trans_list ();
24 virtual bool try_music (Music* req);
25 virtual void initialize ();
29 SCM simple_trans_list_;
30 friend class Context_def;
31 virtual void derived_mark () const;
34 SCM names_to_translators (SCM namelist, Context*tg);
35 void recurse_over_translators (Context * c, Translator_method ptr, Direction);
36 void translator_each (SCM list, Translator_method method);
39 #endif // TRANSLATOR_GROUP_HH