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>
9 #ifndef TRANSLATOR_GROUP_HH
10 #define TRANSLATOR_GROUP_HH
12 #include "translator.hh"
15 typedef void (Translator::*Translator_method) (void);
17 class Translator_group : public virtual Translator
20 VIRTUAL_COPY_CONSTRUCTOR (Translator, Translator_group);
21 virtual Translator_group *get_daddy_translator ()const;
22 virtual SCM get_simple_trans_list ();
23 virtual bool try_music (Music *req);
24 virtual void initialize ();
28 SCM simple_trans_list_;
29 friend class Context_def;
30 virtual void derived_mark () const;
33 SCM names_to_translators (SCM namelist, Context *tg);
34 void recurse_over_translators (Context *c, Translator_method ptr, Direction);
35 void translator_each (SCM list, Translator_method method);
37 #endif // TRANSLATOR_GROUP_HH