X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmusic-wrapper-iterator.hh;h=3aec1298250dfdb4d125c4eaf29eb705f9e865e8;hb=92e1eba5a33ba9d295f75e91e22136df9a8318d6;hp=cd5ad0a9866175e7af43baf7ee8258e3ea744d1c;hpb=6bc0a8a090e82c4bce57df8e980b48cc78cb422b;p=lilypond.git diff --git a/lily/include/music-wrapper-iterator.hh b/lily/include/music-wrapper-iterator.hh index cd5ad0a986..3aec129825 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--2000 Han-Wen Nienhuys */ @@ -13,19 +13,31 @@ #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_l_; public: - Music_wrapper_iterator (Music_wrapper*); + VIRTUAL_COPY_CONS (Music_iterator); + static SCM constructor_cxx_function; + Music_wrapper_iterator (); + Music_wrapper_iterator (Music_wrapper_iterator const&); ~Music_wrapper_iterator (); - virtual void do_print () const; + virtual void construct_children () ; - virtual void process_and_next (Moment) ; - virtual Moment next_moment () const; + virtual Moment pending_moment () const; virtual bool ok () const; - DECLARE_MY_RUNTIME_TYPEINFO; + virtual SCM get_music (Moment)const; + virtual void skip (Moment); + +protected: + virtual void process (Moment); + virtual Music_iterator *try_music_in_children (Music *) const; + + Music_iterator *child_iter_p_; }; #endif /* MUSIC_WRAPPER_ITERATOR_HH */