]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/translator-group.hh
(LY_DEFINE): use scm_c_make_hash_table().
[lilypond.git] / lily / include / translator-group.hh
index 851c8f5a571ac71308d5d74f685d270e34789564..0f5bc4f13a1229ec5f2c7594eb458c6e9ed9bc00 100644 (file)
 #ifndef TRANSLATOR_GROUP_HH
 #define TRANSLATOR_GROUP_HH
 
-#include "string.hh"
-#include "lily-proto.hh"
-#include "virtual-methods.hh"
 #include "translator.hh"
 #include "parray.hh"
-#include "smobs.hh"
 
 typedef void (Translator::*Translator_method) (void);
 
-class Translator_group : public virtual Translator {
-protected:
-  
-public:
-  VIRTUAL_COPY_CONS (Translator);
-
+class Translator_group : public virtual Translator
+{
 public:
+  VIRTUAL_COPY_CONSTRUCTOR (Translator, Translator_group);
   virtual Translator_group* get_daddy_translator ()const;
   virtual SCM get_simple_trans_list ();
   virtual bool try_music (Music* req);       
   virtual void initialize ();
-};
+  Translator_group ();
 
+protected:
+  SCM simple_trans_list_;
+  friend class Context_def;
+  virtual void derived_mark () const;
+};
 
 SCM names_to_translators (SCM namelist, Context*tg);
-void recurse_down_translators (Context * c, Translator_method ptr, bool context_first);
+void recurse_over_translators (Context * c, Translator_method ptr, Direction);
 void translator_each (SCM list, Translator_method method);