X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ffolded-repeat-iterator.hh;h=12b904f7598b3093b61a703b5e17b0b3e4b15bf0;hb=26380ed75fbd7b32781715c043dfa5dd96dfbe4a;hp=c5f73658dfa592a7896f9bacb75a88ab862dc94b;hpb=0e0a18dbaa12275d0a07b76104243a15da821a15;p=lilypond.git diff --git a/lily/include/folded-repeat-iterator.hh b/lily/include/folded-repeat-iterator.hh index c5f73658df..12b904f759 100644 --- a/lily/include/folded-repeat-iterator.hh +++ b/lily/include/folded-repeat-iterator.hh @@ -1,11 +1,10 @@ -/* +/* folded-repeat-iterator.hh -- declare Folded_repeat_iterator - + source file of the GNU LilyPond music typesetter - - (c) 1999--2000 Han-Wen Nienhuys - - */ + + (c) 1999--2005 Han-Wen Nienhuys +*/ #ifndef FOLDED_REPEAT_ITERATOR_HH #define FOLDED_REPEAT_ITERATOR_HH @@ -15,29 +14,33 @@ /** Iterate through a repeated section: first do the body, then all alternatives in parallel. - */ +*/ class Folded_repeat_iterator : public Music_iterator { public: - VIRTUAL_COPY_CONS (Music_iterator); + DECLARE_SCHEME_CALLBACK (constructor, ()); + + Folded_repeat_iterator (Folded_repeat_iterator const &src); Folded_repeat_iterator (); - ~Folded_repeat_iterator (); - + virtual void derived_mark () const; + virtual void derived_substitute (Context *f, Context *t); + virtual void construct_children (); - virtual Moment next_moment () const; + virtual Moment pending_moment () const; + virtual void do_quit (); virtual bool ok () const; protected: void enter_alternative (); void leave_body (); - - virtual void do_process (Moment); + + virtual void process (Moment); virtual Music_iterator *try_music_in_children (Music *) const; private: - Music_iterator * main_iter_p_; - Music_iterator * alternative_iter_p_; - int count_; + Music_iterator *main_iter_; + Music_iterator *alternative_iter_; + Moment main_length_mom_; }; #endif /* FOLDED_REPEAT_ITERATOR_HH */