while (pending_grobs ());
}
-Engraver_group::Engraver_group ()
+void
+Engraver_group::pre_init ()
{
- acknowledge_hash_table_drul_[LEFT]
- = acknowledge_hash_table_drul_[RIGHT]
- = SCM_EOL;
+ acknowledge_hash_table_drul_.set (SCM_EOL, SCM_EOL);
+}
+Engraver_group::Engraver_group ()
+{
acknowledge_hash_table_drul_[LEFT] = scm_c_make_hash_table (61);
acknowledge_hash_table_drul_[RIGHT] = scm_c_make_hash_table (61);
}
Direction start_end () const { return start_end_; }
};
-class Engraver_group : public Translator_group
+class Engraver_group : public Preinit<Engraver_group>, public Translator_group
{
protected:
vector<Announce_grob_info> announce_infos_;
void revert (SCM);
public:
DECLARE_CLASSNAME (Engraver_group);
+ void pre_init ();
Engraver_group ();
virtual void derived_mark () const;
void do_announces ();