X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmusic-wrapper-iterator.hh;h=2d985372e85a147f9bfe94495eee7ebf44f13bad;hb=d765f3af45be51f15da55cf570a4b172200e1035;hp=02a4e97fa0089fd9a415054bb6308957d3190f31;hpb=615a9212789c2cb2994748c023d0e19f3a83a0fd;p=lilypond.git diff --git a/lily/include/music-wrapper-iterator.hh b/lily/include/music-wrapper-iterator.hh index 02a4e97fa0..2d985372e8 100644 --- a/lily/include/music-wrapper-iterator.hh +++ b/lily/include/music-wrapper-iterator.hh @@ -1,9 +1,9 @@ /* - music-wrapper-iterator.hh -- declare + music-wrapper-iterator.hh -- declare Music_wrapper_iterator source file of the GNU LilyPond music typesetter - (c) 1998 Han-Wen Nienhuys + (c) 1998--2002 Han-Wen Nienhuys */ @@ -13,19 +13,32 @@ #include "music.hh" #include "music-iterator.hh" +/** + The iterator for a #Music_wrapper#. Since #Music_wrapper# essentially + does nothing, this iterator creates a child iterator and delegates + all work to that child. + */ class Music_wrapper_iterator : public Music_iterator { - Music_iterator *child_iter_p_; - Music_wrapper *music_wrapper_l(); public: + VIRTUAL_COPY_CONS (Music_iterator); + DECLARE_SCHEME_CALLBACK(constructor, ()); Music_wrapper_iterator (); - ~Music_wrapper_iterator (); - virtual void do_print () const; - virtual void construct_children () ; - virtual void do_process_and_next (Moment) ; - virtual Moment next_moment () const; + Music_wrapper_iterator (Music_wrapper_iterator const&); + + virtual void derived_mark () const; + virtual void construct_children () ; + virtual Moment pending_moment () const; + virtual void do_quit(); virtual bool ok () const; - + virtual SCM get_pending_events (Moment)const; + virtual void skip (Moment); + +protected: + virtual void process (Moment); + virtual Music_iterator *try_music_in_children (Music *) const; + + Music_iterator *child_iter_; }; #endif /* MUSIC_WRAPPER_ITERATOR_HH */